indexOf()的用法有点不懂,求讲解。

hs_164234542 2012-10-18 10:33:29
public class Example9_3{
public static void main(String[] args){
String path="c:\\book\\javabook\\Java Programmer.doc";
int index=path.indexOf("\\");
index=path.indexOf("\\",index);
String sub=path.substring(index);
System.out.println(sub);//输出结果是:\book\javabook\Java Programmer.doc
index=path.lastIndexOf("\\");
sub=path.substring(index+1);
System.out.println(sub);//输出结果是:Java Programmer.doc
System.out.println(sub.contains("Programmer"));//输出结果是:true
}
}
我觉得第一个输出结果应该是:\\book\\javabook\\Java Programmer.doc.
求讲解,本人初学者。在此先谢谢各位大神了。
...全文
657 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxhcloth 2012-10-18
  • 打赏
  • 举报
回复
就喜欢你这样积极跟帖,解决问题及时结贴的同学。
zhang2520 2012-10-18
  • 打赏
  • 举报
回复
c:\\book\\javabook\\Java Programmer.doc 中的"\"为转义,
内存中的内容为:c:\book\javabook\Java Programmer.doc
int index=path.indexOf("\\"); 第一次出现"\"的位置是2 即 index=2
index=path.indexOf("\\",index); 在index 位置开始查询第一次出现"\" 的位置,第一个就是"\" 所以index 还是等于2
String sub=path.substring(index); 从第二个位置开始截取:
所以输出结果:\book\javabook\Java Programmer.doc

int indexOf(String str)
返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex)
从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
hs_164234542 2012-10-18
  • 打赏
  • 举报
回复
谢谢两位,小弟收益颇深!感谢教导!
zxhcloth 2012-10-18
  • 打赏
  • 举报
回复
在java里"\"是一个通配符,所以你是不能单独使用它的,如果你要表示一个"\"字符,那么就得是这么表示"\\"。
cscript 2012-10-18
  • 打赏
  • 举报
回复
那是转义字符

String path="c:\\book\\javabook\\Java Programmer.doc";

System.out.print(path);

输出结果就是 c:\book\javabook\Java Programmer.doc

和 indexOf 没半毛钱关系

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧