gpt4 book ai didi

python - 确定输入中的字符串是否是 Python 中的单个单词

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:53 25 4
gpt4 key购买 nike

我被迫使用的脑死亡第三方程序决定了如何处理路径,具体取决于提供的输入是单个单词还是完整路径:在前一种情况下,路径是相对于一些晦涩的根目录进行解释的.

因此,鉴于输入可以是完整路径或相对路径,或单个单词(包括下划线和破折号,但不包括空格),我想知道如何编写一个函数来确定输入是否为单个 "词”定义如上。

例如:

  • “Public_345”将被归类为有效的“单词”
  • "/home/path/to/something"显然不是
  • “Foo bar”也不会被视为有效的“单词”

由于字符串方法不行,我想知道是否可以使用正则表达式。最初我想到了这样的事情:

match = re.compile(r"[\w-]+")
word = "abdcde_-4"
if len(re.findall(match, word)) == 1:
print "Single word"

但是,它确实感觉非常丑陋,而且我很确定它不会捕捉到极端情况。那里有(很多)更好的解决方案吗?

最佳答案

您可以调整您的正则表达式以匹配整个输入字符串,这样您就不必计算匹配项了。即

if re.match(r'\A[\w-]+\Z', word):
print "Single word"

(如果您愿意,请编译正则表达式)

\A\Z 分别匹配输入字符串的开头和结尾。因此,如果您的 word 中除了路径之外还包含其他数据,那么上述方法将不起作用。

关于python - 确定输入中的字符串是否是 Python 中的单个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2311044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com