2024-06-16 09:12:02 发布
网友
我有一个字符串,其中“LOCAL”这个词出现了很多次。我使用find()函数搜索这个单词,但它也返回另一个单词“Locally”。我怎样才能准确地匹配“本地”这个词呢?
find()
下面你可以使用简单的函数。
def find_word(text, search): result = re.findall('\\b'+search+'\\b', text, flags=re.IGNORECASE) if len(result)>0: return True else: return False
使用:
text = "Hello, LOCAL locally local test local." search = "local" if find_word(text, search): print "i Got it..." else: print ":("
您可以使用正则表达式来约束匹配项在单词边界处发生,如下所示:
import re p = re.compile(r'\blocal\b') p.search("locally") # no match p.search("local") # match p.findall("rty local local k") # returns ['local', 'local']
对于这种情况,regexp非常有用:
import re print(re.findall('\\blocal\\b', "Hello, locally local test local.")) // ['local', 'local']
基本上是指单词边界。可以是空格、标点符号等
编辑以供评论:
print(re.sub('\\blocal\\b', '*****', "Hello, LOCAL locally local test local.", flags=re.IGNORECASE)) // Hello, ***** locally ***** test *****.
显然,如果不想忽略该情况,可以删除flags=re.ignore case。
下面你可以使用简单的函数。
使用:
您可以使用正则表达式来约束匹配项在单词边界处发生,如下所示:
对于这种情况,regexp非常有用:
基本上是指单词边界。可以是空格、标点符号等
编辑以供评论:
显然,如果不想忽略该情况,可以删除flags=re.ignore case。
相关问题 更多 >
编程相关推荐