标题: 求一个子串在整串出现的次数? [打印本页] 作者: 蒲公英在飞 时间: 2014-7-19 07:15 标题: 求一个子串在整串出现的次数? 求一个子串在整串出现的次数?作者: 李云贵 时间: 2014-7-19 08:41
public class Test2{
public static void main(String[] args){
String a = "abcabc23423abc342334abc3453423423";
String b = "abc";
System.out.println(getSubNum(a, b));
}
public static int getSubNum(String a, String b) {
int num = 0;
String str = a;
//返回子字符串b在a中第一次出现的索引,没有找到b返回-1
int index = a.indexOf(b);
while (index != -1) {
num++;
str = str.substring(index + b.length() - 1);//返回第一处索引的后面的子字符串
index = str.indexOf(b);
}
return num;
}
}作者: 爨庚轩 时间: 2014-7-19 09:18
使用正则表达式会好一点,
package copy;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
public static void main(String[] args) {
String a = "abcabc23423abc342334abc3453423423";
String b = "abc";
System.out.println(strCount(a, b));
}
private static int strCount(String str, String sub) {
private static void getNum(String str, String str2) {
int count=0;
int len = str2.length();
int n =0;
int i=0;
while(i<str.length()-len){
i= str.indexOf(str2, n);
n=i+len;
count++;
/* int i=str.indexOf(str2, 0);
int j =str.indexOf(str2, i+len);
int m = str.indexOf(str2, j+len);*/
}
System.out.println(count);
}
}