姣斿: String a ="123456789" String b= "23"
鍏跺疄灝辨槸寰幆 a涓涓竴涓瓧絎﹀尮閰嶏紝寮濮媋[0]鍜宐[0]鍖歸厤錛屾病鏈夋壘鍒幫紝鐩存帴涓嶇敤鎵綽[1]錛岀洿鎺ョ敤a[1]鍜宐[0]鍖歸厤鍙戠幇宸茬粡 鎵懼埌錛岀劧鍚庣戶緇敤
a[2]鍜宐[1]鍖歸厤鍙戠幇宸茬粡 鎵懼埌銆傚墠涓旀槸b瀛楃涓叉湯灝俱傝鏄庡凡緇忓畬鍏ㄦ壘鍒般傝繑鍥炵粨鏋?br /> JAVA浠g爜瀹炵幇
/**
* 鍖歸厤瀛楃涓詫紝鍒ゆ柇 b瀛楃涓插湪a鍑虹幇鐨勮搗濮嬩綅緗紝娌℃湁鎵懼埌榪斿洖錛?1錛?br /> * @param a
* @param b
* @return
*/
public static int indexOf(String a,String b){
char[] as = a.toCharArray();
char[] bs = b.toCharArray();
int begin = 0;
for(int i = 0 ; i <as.length; i++){
int k = nextStr(as[i], bs,begin);
//璇存槑宸茬粡鎵懼埌
if( k == begin ){
return i-begin;
}
//璇存槑鎵懼埌涓涓瓧絎︼紝闇瑕佺戶緇壘
else if( k >= 0 ){
begin = k;
}else{
//娌℃湁鎵懼埌緇х畫鎵?nbsp;
begin = 0;
}
}
return -1;
}
/**
* 鍖歸厤瀛楃涓詫紝鎵懼埌瀛楃涓蹭綅緗?br /> * @param c
* @param cs
* @param begin
* @return
*/
public static int nextStr(char c,char[] cs,int begin){
//濡傛灉瀛楃鍖歸厤鍜屽凡緇忓埌浜嗗瓧絎﹀熬閮ㄩ潚紺哄凡緇忓叏閮ㄥ尮閰?br /> if(cs[begin] == c && begin == (cs.length-1) ){
return begin;
//濡傛灉瀛楃鍖歸厤浣嗘病鏈夊埌灝鵑儴闇瑕佺戶緇笅縐?br /> }else if(cs[begin] == c){
return begin+1;
}
//瀹屽叏娌℃湁鍖歸厤
else{
return -1;
}
}
鐒跺悗鍦╩ain閲岄潰璋冪敤indexOf鏂規硶鐪嬪埌緇撴灉