在Python中,如何匹配单词中的字符串

时间:2015-04-27 09:30:27

标签: python

Python代码

str= "bcd"
word = "abcd1"

if pattern = re.search(str, word):
    print pattern.group(1)

我想搜索" bdc"一句话..我该怎么做?

6 个答案:

答案 0 :(得分:6)

>>> str= "bcd" 
>>> word = "abcd1"
>>> str in word
True

简单方法

答案 1 :(得分:1)

您可以使用字符串对象的find()函数来完成此操作。

str = "abc"
word = "abcd1"

index = word.find (str)
if ( index != -1 ) :
    print (index)

索引显示您要查找的子章程的第一个字符。

答案 2 :(得分:0)

您可以使用word.index(str)。它将返回strword的位置,或者如果str中找不到word,则会引发异常。

但是如果您喜欢/想要使用正则表达式,那么使用re.search()是正确的。如果在字符串中找到模式,则re.search会返回匹配项;如果找不到,则None会返回匹配项。由于None评估为False,您可以这样做:

if re.search(str, word):
    # found the pattern

答案 3 :(得分:0)

如果你只需知道字符串是否包含在word中,你也可以简单地说:

if str in word:
   whatever
else:
   somethingelse

答案 4 :(得分:0)

您没有提及是否需要任何信息,例如结果的位置。如果您只想进行简单的检查,您可以使用"如果X在Y"的方法:

In [1]: needle = "pie"

In [2]: haystack = "piece of string"

In [3]: if needle in haystack: print True
True

答案 5 :(得分:0)

如果你只是想知道字符串是否在另一个单词中,你可以这样做:

if 'bdc' in word:
# do something

如果您需要使用正则表达式执行此操作:

import re
pat = re.compile('bdc')
pat.search(word)

(或仅re.search('bdc', word)

此外,您很可能永远不会将str用作变量名称,因为它已经是内置函数str()