Java: 在一个字符串中找到一个单词出现的次数(是否有类似于C#的表达式)?
Java: 在一个字符串中找到一个单词出现的次数(是否有类似于C#的表达式)?
我对于查找一个字符串中某个单词出现的次数很感兴趣。
我看过了一个示例,使用Matcher(构造正则表达式并计算组数)来计算SUN(Matcher Demo)。
我想知道这是唯一的方法还是还有其他的方法,比如使用C#中的Regex.Matches(input, "true").Count(来自SO问题)。
或者在我的情况下:
如果我在一个循环中使用contains来检查列表中的某些单词是否出现在字符串中,是否有一种简单/优雅的方法来即时获取已知存在的单词出现的次数?
问题的出现原因:提问者想要在一个字符串中找到某个单词出现的次数,并且希望能够忽略大小写。他想知道是否有类似于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中找到一个字符串中某个单词出现的次数,并且可以忽略大小写。