gpt4 book ai didi

python - 在python 3中查找字符串中某个单词的出现

转载 作者:太空狗 更新时间:2023-10-29 17:09:30 25 4
gpt4 key购买 nike

我正在尝试查找某个单词在字符串中出现的次数。

word = "dog"
str1 = "the dogs barked"

我使用以下方法来计算出现次数:

count = str1.count(word)

问题是我想要完全匹配。所以这句话的计数将为 0。这可能吗?

最佳答案

如果您要提高效率:

import re
count = sum(1 for _ in re.finditer(r'\b%s\b' % re.escape(word), input_string))

这不需要创建任何中间列表(与 split() 不同),因此对于较大的 input_string 值将有效地工作。

它还有正确使用标点符号的好处 - 它会正确返回 1 作为短语 "Mike saw a dog." 的计数(而无参数的split() 不会)。它使用 \b 正则表达式标志,匹配单词边界(\w a.k.a [a-zA-Z0-9_] 和其他任何东西)。

如果您需要担心超出 ASCII 字符集的语言,您可能需要调整正则表达式以正确匹配这些语言中的非单词字符,但对于许多应用程序来说,这会过于复杂,并且在许多其他情况下设置正则表达式的 unicode 和/或区域设置标志就足够了。

关于python - 在python 3中查找字符串中某个单词的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com