"mnabcdefgabcxyzabca"
一个文件中有多个这样的字符串,
求这个字符串中的字串"abc"一共有多少个,怎么用java实现??只这个字符串为例。
如果用正则表达式怎么实现 ??
用正则的效率是否相对而言会好些!
一个文件中有多个这样的字符串,
求这个字符串中的字串"abc"一共有多少个,怎么用java实现??只这个字符串为例。
如果用正则表达式怎么实现 ??
用正则的效率是否相对而言会好些!
调试欢乐多
public static void main(String args[]){
String str = "mnabcdefgabcxyzabca";
String substr = "abc";
int number = count(str,substr);
System.out.println("There are " + number + " substrings in the string");
}
public static int count(String str,String substr){
int count = 0;
for(int i = 0;i < str.length() - 2; i++){
String s = str.substring(i, i+3);
if(s.equals(substr))
count++;
}
return count;
}
}
String str6 = "abcdefgabcxyzabc";
String regx6 = "abc";
System.out.println(str6.split(regx6,5).length -1);
public static void main(String args[]){
String str = "mnabcdefgabcxyzabca";
String substr = "abc";
System.out.println(str.split(substr).length);
}
这里有个问题:
如果abc在开头和结尾。。
public class Test7 {
public static void main(String[] args){
String str="abcmnabcdefgabcxyzabcabc";
String regex="abc";
Matcher mat=Pattern.compile(regex).matcher(str);
int count=0;
while(mat.find()){
count++;
}
System.out.println(str+"中共有"+count+"个"+regex);
}
}
F:\java>java Test7
abcmnabcdefgabcxyzabcabc中共有5个abc
str.split(substr,5).length-1
public static void main(String[] agrs){
String s ="mnabcdefgabcxyzabca"
String ss="abc";
int count = 0;
int index = -1;
while( (index = s.indexOf(ss)) !=-1){
s = s.substring(index+ss.length());
count++;
}
System.out.println(count);
}试试这个~
否则split要出错。