Java: 在一个字符串中找到一个单词出现的次数(是否有类似于C#的表达式)?

12 浏览
0 Comments

Java: 在一个字符串中找到一个单词出现的次数(是否有类似于C#的表达式)?

我对于查找一个字符串中某个单词出现的次数很感兴趣。

我看过了一个示例,使用Matcher(构造正则表达式并计算组数)来计算SUN(Matcher Demo)。

我想知道这是唯一的方法还是还有其他的方法,比如使用C#中的Regex.Matches(input, "true").Count(来自SO问题)。

或者在我的情况下:

如果我在一个循环中使用contains来检查列表中的某些单词是否出现在字符串中,是否有一种简单/优雅的方法来即时获取已知存在的单词出现的次数?

0
0 Comments

问题的出现原因:提问者想要在一个字符串中找到某个单词出现的次数,并且希望能够忽略大小写。他想知道是否有类似于C#表达式的方法来解决这个问题。

解决方法:有一个可以使用的解决方法是使用正则表达式。可以使用Java的Pattern类来编译一个正则表达式,并使用split()方法将字符串分割成一个数组,然后通过数组的长度减去1来得到单词出现的次数。

具体的解决方法如下:

Pattern p = Pattern.compile(toFind, Pattern.LITERAL | Pattern.CASE_INSENSITIVE);
int occurances = p.split(text, -1).length -1;

在讨论中还提到了其他一些解决方法。例如,可以在搜索的源字符串中使用toLowerCase()方法将字符串转换为小写,并使用split()方法进行搜索。还可以使用Pattern类的LITERAL选项避免转义特殊字符。

以上是解决问题的一些常用方法。通过使用正则表达式,可以在Java中找到一个字符串中某个单词出现的次数,并且可以忽略大小写。

0