检查string是否以XXXX开头
我想知道如何检查一个string是否以Python中的“hello”开头。
在Bash中我通常会这样做:
if [[ "$string" =~ ^hello ]]; then do something here fi
我如何在Python中实现相同的function?
aString = "hello world" aString.startswith("hello")
RanRag已经回答了你的具体问题。
不过,更普遍的是,你在做什么
if [[ "$string" =~ ^hello ]]
是一个正则expression式匹配。 要在Python中做同样的事情,你可以这样做:
import re if re.match(r'^hello', somestring): # do stuff
显然,在这种情况下, somestring.startswith('hello')
更好。
也可以这样做..
regex=re.compile('^hello') ## THIS WAY YOU CAN CHECK FOR MULTIPLE STRINGS ## LIKE ## regex=re.compile('^hello|^john|^world') if re.match(regex, somestring): print("Yes")
如果你想检查你的魔法词multiple
单词,你可以做以下事情
magicWord = 'zzzTest' words = ['zzz', 'yyy', 'rrr'] print any(filter(lambda x: magicWord.startswith(x), words)) >>True
我们基本上使用filter
来获取我们的案例列表中的所有项目,用lambda函数检查,并用startswith
函数将它与我们的魔法字进行比较。 如果我们的单词从任何一个案例开始,使用any
将返回True
。
这很好,如果你的病例清单不大,因为我们不考虑提前短路