æè·¯:
1,æ¢ç¶æ¯æä½å符串就è¦å
æ³å°Stringç±»ä¸æ¯å¦æä¾ç¸å
³æ¹æ³.
2,å¯ä»¥å
éè¿indexOfç´¢å¼å串第ä¸æ¬¡åºç°çä½ç½®.第äºæ¬¡å¨ç´¢å¼çæ¶å,
å°±åºè¯¥ä»ç¬¬ä¸æ¬¡åºç°çä½ç½®+å串çé¿åº¦åå¨ä»å©ä¸çå符串ä¸æ¥æ¾è¿æ没æ该å串.
é£ä¹éè¦å®ä¹ä¸ä¸ªåéå°å©ä¸çå符串记å½ä¸ä¸.
3,该è¿ç¨æ¢ç¶éå¤.å°±éè¦å¾ªç¯æ¥å.循ç¯æ¡ä»¶å³ä¸º:å½indexOfç´¢å¼è¿å-1æ¶.åæ¢å¾ªç¯.class Demo
{
public static void main(String args [])
{
String str = "abkkcdkkabkkefkk";
String subStr = "kk";
int [] arr = findIndexOfSub(str,subStr);
System.out.print("kkåºç°çä½ç½®ä¸º:");
for(int pos : arr)
System.out.print( pos+" ");
}
private static int[] findIndexOfSub(String str,String subStr)
{ StringBuilder sb = new StringBuilder();
int pos = 0;
int count = 0;
while(true)
{
pos = str.indexOf(subStr,pos);
if(pos==-1)
break;
sb.append(pos+",");
count++;
pos += subStr.length();
}
if(sb.length()==0)
return null;
int [] arr =sbToArray(sb);
System.out.println(subStr+" å¨å符串 "+str+" ä¸åºç°äº "+ count+" 次");
return arr;
}
public static int [] sbToArray(StringBuilder sb)
{
String s = sb.toString();
String [] parts = s.split(",");
int [] arr = new int [parts.length];
for(int i = 0 ;i<arr.length;i++)
arr[i] = Integer.parseInt(parts[i]) ;
return arr;
}
}
温馨提示:答案为网友推荐,仅供参考