检查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

这很好,如果你的病例清单不大,因为我们不考虑提前短路