我试图找到一个单词在一个字符串中出现的次数。
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
aka[a-zA-Z0-9_]
和其他任何东西之间的转换)上匹配。
如果您需要担心ASCII字符集以外的语言,则可能需要调整正则表达式以正确匹配那些语言中的非单词字符,但是对于许多应用程序来说,这可能会过于复杂,在许多其他情况下,设置unicode和/或正则表达式的区域设置标志就足够了。
问题内容: 我需要在HTML源代码中找到一个单词。我还需要计算发生的次数。我正在尝试使用正则表达式。但它说找到0个匹配项。 我正在使用正则表达式,因为我认为这是最好的方法。如果有更好的方法,请告诉我。 我需要在HTML源代码中找到单词“ hsw.ads”的出现。 我已采取以下步骤。 但是计数是0; 请让我知道您的解决方案。 谢谢。帮助寻求者 问题答案: 您应该尝试一下。 在字符串中传递要搜索的单词
问题内容: 如何递归地查找字符串中最长的单词? 编辑 说完了,谢谢大家。这是修改后的代码。 问题答案: 首先,让我们假设句子字符串参数没有任何前导或尾随空格。您可以通过调用trim()来处理递归情况。 然后,我们需要定义两种情况,即基本情况和递归情况。 基本情况是找不到空格,即传入的句子只是一个单词。在这种情况下,只需返回句子即可。 在递归的情况下,我们将得到第一个单词,其余的则与您一样。在句子的
问题内容: 我有一个字符串“ ”。我想查找一个单词在字符串中出现多少次。示例hello发生2次。我尝试了只打印字符的方法- 我想学习如何找到字数统计。 问题答案: 如果要查找单个单词的计数,请使用: 使用和汇总所有单词:
问题内容: 我想计算一个字符串中某个字符的出现次数,假设我有一个字符串“ aaaab”,我如何计算其中的a数量? 问题答案: 如果不使用正则表达式,则代码看起来更易于阅读。 现在在您的字符串中包含数字“ a”。并且,这在最佳时间执行。 正则表达式非常适合模式匹配。但是只需定期循环即可在此处完成工作。
问题内容: 我正在编写一段代码,例如,如果我有,我只需要查找完整的单词 并且我正在搜索“ t”,那么我应该找不到任何单词。 谁能告诉我如何用Java编写这样的程序? 问题答案: 我将正则表达式用于此类任务。在您的情况下,它应如下所示: 简短说明: 。匹配任何字符,*?是 零次或多次 ,\ b是 单词边界 。 有关正则表达式的更多信息,请参见此处或专门针对Java 。
我使用preg_split将字符串拆分为单词。 但是,它不适用于从mysql文本列获取的特定字符串。 如果我手动将字符串分配给变量,它将正常工作,但在从数据库获取字符串时不会正常工作。 下面是我正在使用的简单代码: 以下是调用数据库中的字符串时preg_split返回的结果: 有人知道是什么原因导致此字符串的preg_split失败吗? 谢啦