怎样才能高效统计出某字符串中某子串的个数?

路一直在走 发布于 2011/08/24 16:58
阅读 522
收藏 0
public class StatisticString {
	
	public static void main(String [] args){
		String subString="aba";
		String fullString="ababababaababababab";
		statistic(subString,fullString);

	}

	private static void statistic(String subString, String fullString) {
		int count=0;
		while(fullString!=null&&fullString.length()>=subString.length()){
			if(fullString.startsWith(subString)){
				count++;
			}
			fullString=fullString.substring(1);
		}
		System.out.println(count);
	}
}
自己实现了一个但是感觉效率不高...
加载中
0
scl33
scl33
正则表达式!
0
路一直在走
路一直在走
Pattern p = Pattern.compile("a.a");
Matcher m = p.matcher("abassabassabassataa");
while (m.find()) {
    System.out.println(m.group());
}

这样用又统计不出来

其他用法又不懂使用约

0
磊神Ray
磊神Ray

引用来自“路一直在走”的答案

Pattern p = Pattern.compile("a.a");
Matcher m = p.matcher("abassabassabassataa");
while (m.find()) {
    System.out.println(m.group());
}

这样用又统计不出来

其他用法又不懂使用约

这个可以统计出来

0
路一直在走
路一直在走

引用来自“磊.Y”的答案

引用来自“路一直在走”的答案

Pattern p = Pattern.compile("a.a");
Matcher m = p.matcher("abassabassabassataa");
while (m.find()) {
    System.out.println(m.group());
}

这样用又统计不出来

其他用法又不懂使用约

这个可以统计出来

不行啊

比如说 key="aba"

字符串 s="ababababa"

只能统计出2个

而实际上是4个

返回顶部
顶部