在Java中如何用String类中的indexof方法得到一个词的出现频率

2024-12-29 21:20:19
推荐回答(4个)
回答1:

public class Test{

public static void main(String[] args) {
String s="hello jack hello look me to see nohello";
String target="hello";//甚至可以为正则表达式
int count=0;
while(s.indexOf(target)>=0){
s=s.replaceFirst(target, "");
System.out.println(s);
count++;
}
System.out.println(target+" 出现的次数为:"+count);
}

}

回答2:

indexof好像是得到最后一个匹配词的位置把,(要不就是第一个)得到后用substring截了再查, 写个循环吧。

回答3:

public class TestIndexOf {
public static void main(String[] args) {
int i=(new TestIndexOf()).f();
System.out.println(i);
}
int f() {
String word="abc";
String str="iehabchuiwoabcuabciohgabc";
int i=str.indexOf(word);
if(i==-1) {
return 0;
}
int count=1;
while(true) {
i=str.indexOf(word,i+word.length());
if(i!=-1) {
count++;
}
else break;
}
return count;
}
}

回答4:

public class UseIndexOf1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="java program language";
int j=0;
int i=-1;
do{
i=s.indexOf((int)'g',i+1);
j++;
}while(i!=-1);
System.out.println("g在字符串中出现:"+(j-1)+"次");

}

}