2012-01-10 145 views
275

我想知道如何检查一个字符串是否以Python中的“hello”开头。检查一个字符串是否以XXXX开头

在bash我通常做的:

if [[ "$string" =~ ^hello ]]; then 
do something here 
fi 

如何实现在Python一样吗?

+13

您是否尝试过查看文档? – Marcin 2012-01-10 11:55:40

+8

@Marcin同意。此外,标题几乎传递正确的语法来做到这一点:-)只要删除一些空格,并添加一些括号,并以冒号结束...'如果aString.startswith(XXXX):' – plundra 2012-01-10 12:10:27

回答

452
aString = "hello world" 
aString.startswith("hello") 
68

RanRag has already answered它为您的具体问题。

然而,更普遍的,你与

if [[ "$string" =~ ^hello ]] 

做是正则表达式匹配。要做到在Python一样,你会怎么做:

​​

显然,在这种情况下,somestring.startswith('hello')更好。

+0

只是想补充一点我在做,re.match和re.sub总是比其他方法慢得多。 – 2017-05-07 19:15:25

12

也可以做这样..

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") 
4

如果你想词匹配多到您的魔语,你可以通过匹配的元组的话:

>>> magicWord = 'zzzTest' 
>>> magicWord.startswith(('zzz', 'yyy', 'rrr')) 
True 

请参阅docs

相关问题