Java中查找字符串indexof()方法是怎么计算起始位置的
Java中的查找字符串indexof()方法中,书上介绍说在字符串Thepiano中,文本piano的起始位置为3。中间的空格不算是占用一个位置么?如果是这样的话和abc...
Java中的查找字符串indexof()方法中,书上介绍说在字符串 The piano 中,文本piano的起始位置为3。中间的空格不算是占用一个位置么?如果是这样的话 和abc abc abc 和 a bca bca bc查找abc的返回值就一样了么
展开
7个回答
2013-04-19
展开全部
返回指定子字符串在此字符串中 第一次 出现处的索引。空格是字符,当然要算上.
注意: 索引是从0开始的
比如那那个字符串"The piano" T的索引是0, p的索引是3
"abc abc abc ".indexOf("abc") = 0;
"a bca bca bc".indexOf("abc") = -1; //找不到 答案补充 不好意思, 我的回答下面这句话是错误的
比如那那个字符串"The piano" T的索引是0, p的索引是3
正确的应该是
比如那那个字符串"The piano" T的索引是0, 空格的索引是3, p的索引是4
注意: 索引是从0开始的
比如那那个字符串"The piano" T的索引是0, p的索引是3
"abc abc abc ".indexOf("abc") = 0;
"a bca bca bc".indexOf("abc") = -1; //找不到 答案补充 不好意思, 我的回答下面这句话是错误的
比如那那个字符串"The piano" T的索引是0, p的索引是3
正确的应该是
比如那那个字符串"The piano" T的索引是0, 空格的索引是3, p的索引是4
展开全部
int indexOf(int ch,int fromIndex)函数:就是字符ch在字串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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是的,空格也是一个字符的位置,所以你给的
abc abc abc---->查找abc 返回0
a bca bca bc---->查找abc 返回-1 即没有
返回的值是第一次出现该值得 下标
abc abc abc---->查找abc 返回0
a bca bca bc---->查找abc 返回-1 即没有
返回的值是第一次出现该值得 下标
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-18 · 知道合伙人数码行家
关注
展开全部
您好,提问者:
indexOf("a")是从字符串的0个位置开始查找的。
比如你的字符串:"abca",那么程序将会输出0,之后的a是不判断的。
indexOf("a")是从字符串的0个位置开始查找的。
比如你的字符串:"abca",那么程序将会输出0,之后的a是不判断的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-19
展开全部
空格是算一个字符的,NO,你背后的一个查找ABC,查找不出来..返回值为NULL好象!忘记了,好长时间没用indexOf了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询