java中indexOf的使用

System.out.println("az123z1234z12345z123456z1234567z12345678z449fk".indexOf('z',2));
str.indexOf(s1,index)
这个函数的用法是查找字符串中的字符 s1 从第 index 个开始查找,返回所在字符的索引 是这个意思吗
但是不明白为什么 indexOf('z',2) 和 indexOf('z',3) 返回的都是5呢

首先,indexOf('Z',2)的2代表的是从你的字符串第3[请注意是3,它已经跳过了第一个Z]个字符开始找'Z'字符,找到后返回'Z'字符的位置,请注意,这个时候返回的位置数[你这里是5]又是从0位置开始计数的.
所以indexOf('Z',3)找到的那个Z也是和indexOf('Z',2)找到的Z的位置是一样的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-06
indexOf('z',2) 和 indexOf('z',3) ,意思是从第3个字符或者第4个字符开始,下一个z的index,注意JAVA里的index是从0开始的....所以返回第6个字符z的index是5

str1.indexOf("字",start,end);//从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]
第2个回答  2010-03-06
IndexOf 方法
返回 String 对象内第一次出现子字符串的字符位置。

strObj.indexOf(subString[, startIndex])

参数
strObj
必选项。String 对象或文字。
subString
必选项。要在 String 对象中查找的 子字符串。
starIndex
可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

从左向右执行查找。否则,该方法与 lastIndexOf 相同。

示例
下面的示例说明了 indexOf 方法的用法。

function IndexDemo(str2){
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.indexOf(str2);
return(s);
}
相似回答