int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1
public int indexOf(int ch)
String
对象表示的字符序列中出现值为
ch
的字符,则返回第一次出现该字符的索引(以 Unicode 代码单元表示)。对于 0 到 0xFFFF(包括 0 和 0xFFFF)范围内的
ch
的值,返回值是
为 true 的最小 k 值。对于其他this.charAt(k) == ch
ch
值,返回值是
为 true 最小 k 值。无论哪种情况,如果此字符串中没有这样的字符,则返回this.codePointAt(k) == ch
-1
。
ch
- 一个字符(Unicode 代码点)。
-1
。
public int indexOf(int ch, int fromIndex)
在此 String
对象表示的字符序列中,如果带有值 ch
的字符的索引不小于 fromIndex
,则返回第一次出现该值的索引。对于 0 到 0xFFFF(包括 0 和 0xFFFF)范围内的ch
值,返回值是
为 true 的最小 k 值。对于其他(this.charAt(k) == ch) && (k >= fromIndex)
ch
值,返回值是
为 true 的最小 k 值。无论哪种情况,如果此字符串中(this.codePointAt(k) == ch) && (k >= fromIndex)
fromIndex
或之后的位置没有这样的字符出现,则返回
-1
。
fromIndex
的值没有限制。如果它为负,则与它为 0 的效果同样:将搜索整个字符串。如果它大于此字符串的长度,则与它等于此字符串长度的效果相同:返回-1
。
所有索引都在 char
值中指定(Unicode 代码单元)。
ch
- 一个字符(Unicode 代码点)。
fromIndex
- 开始搜索的索引。
fromIndex
的字符的索引;如果未出现该字符,则返回
-1
。
eg:String str="a2dfcfar1bzvb";
System.out.println(str.indexOf(97,2));
看这个例子,输出:6
a的ASCII为97,就从d开始找a找到了输出a所在字符串的确切位置,找不到就输出-1!(java中位置第一个从0开始)
String.indexOf函数用法小结
1. indexOf的参数是String, startIndex: Number;
indexOf的返回值为int,
2. Function indexOf 包含如下几个格式:
1). Strng.indexOf(substring) //搜索String中的substring,默认从0位开始;
2). String.indexOf(substring, int m) //搜索String中的substring, 默认从第m位开始;
public class Hehe
{
int i;
int x;
String ip= null;
String input1 = null;
String input2 = null;
public void main(String args[]){
ip = "126.168.1.1";
i = ip.indexOf('.');
x = ip.indexOf('.',i+1);
input1 = ip.substring(0,i);
input2 = ip.substring(i+1, x);
System.out.println("the input1 is "+input1);
System.out.println("the input2 is "+input2);
}
}
结果是
the input1 is 126
the input2 is 168