在python中查找字符串中utf8子字符串的位置

时间:2015-04-20 07:35:45

标签: python string unicode

我想在字符串中找到一个utf-8子字符串。

这是我的代码:

str = u'haha i am going home'
substr1 = u'haha'
substr2 = u'ha'

如果我跑

str.find(substr1) #returns 0 
str.find(substr2) #returns 0 

我想

str.find(substr2) to return -1而不是我希望用词来匹配。

1 个答案:

答案 0 :(得分:3)

使用正则表达式

import re

str = u'haha i am going home'
substr1 = u'haha'
substr2 = u'ha'

match = re.search(r'\b%s\b' % substr1 ,str)

if match:
    print "found substring 1"

match = re.search(r'\b%s\b' % substr2 ,str)

if match:
    print "found substring 2"