3

如果我有一个类似的字符串"/hello/world:123/foo-bar",我将如何找到 say 的出现次数123?一种方法是Pattern用正则表达式创建一个,然后Matcher用一个计数器创建一个。但是有没有更好的方法,比如说一个班轮?

4

3 回答 3

5

试试StringUtils.countMatches

StringUtils.countMatches(input,"123");

或者

while ((index = value.indexOf(findValue, index)) != -1)
        {
            count++;
            index += findValue.length();
        }
于 2013-09-19T00:53:31.593 回答
5

你可以试试

"test 123 test".split("123").length - 1; // 1

或更一般地说

String yourString = "something", searchString = "ome";
yourString.split(searchString).length - 1;
于 2013-09-19T00:53:55.063 回答
4

您可以检查String.indexOf("123")和的结果String.lastIndexOf("123")是否相同。如果是,那么只有一次出现。

于 2013-09-19T00:54:25.183 回答