【发布时间】:2011-02-07 18:28:46
【问题描述】:
我有一个正在阅读的大文本文件,我需要找出一些单词出现了多少次。例如,单词the。我正在逐行执行此操作,每一行都是一个字符串。
我需要确保我只计算合法的 the's - other 中的 the 不会计算在内。这意味着我知道我需要以某种方式使用正则表达式。到目前为止我正在尝试的是:
numSpace += line.split("[^a-z]the[^a-z]").length;
我意识到正则表达式目前可能不正确,但我尝试不使用它,只是试图找到单词the 的出现,我也得到了错误的数字。我的印象是这会将字符串拆分为一个数组,而该数组被拆分的次数就是该单词在字符串中出现的次数。任何想法我将不胜感激。
更新: 鉴于一些想法,我想出了这个:
numThe += line.split("[^a-zA-Z][Tt]he[^a-zA-Z]", -1).length - 1;
虽然仍然得到一些奇怪的数字。我能够获得准确的一般计数(没有正则表达式),现在我的问题是正则表达式。
【问题讨论】:
-
我不同意你必须使用正则表达式我只是想知道你为什么使用正则表达式?
-
Though still getting some strange numbers.听起来很有趣。你想谈谈吗?也许报告这些数字是惊人的大,还是低得离奇?