【发布时间】:2015-06-26 19:39:07
【问题描述】:
我正在尝试在字符串中查找 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 而不是因为我想按单词匹配。
【问题讨论】:
-
您没有 UTF-8 字符串。你有 Unicode 字符串;这两个概念是相关的,但非常不一样。一个是编码字节,另一个是文本。
-
编写自己的函数。
-
str是 Python 类型,请务必使用其他变量名。 -
FWIW,不使用正则表达式的简单方法是在目标字符串和搜索字符串中都附加一个空格。 OTOH,与正则表达式方法不同,它不处理标点符号。