黑马程序员技术交流社区

标题: 关于截取字符串的! [打印本页]

作者: 魏冬    时间: 2012-11-12 21:05
标题: 关于截取字符串的!
本帖最后由 魏冬 于 2012-11-14 11:29 编辑

今天在做题的时候 遇到了 一个问题  就是LastIndexOf 是获得 .前面的还是后面的  比如  --?
string Name="assp.net" int index=LastIndexOf('.')??求解答!!!
作者: 许坤    时间: 2012-11-12 21:12
本帖最后由 许坤 于 2012-11-12 21:15 编辑

查找字符在字符串中的下标,indexOf从前面开始找,lastIndexOf从后面开始找 ; LastIndexOf('.')自然是从后面到.开始往前找获取后面的数据!
作者: 罗宝    时间: 2012-11-12 21:14
本帖最后由 罗宝 于 2012-11-12 21:28 编辑

获取的是后面的
string Name="assp.net" int index=LastIndexOf('.')??

这个结果是 net
作者: 蔡兆军    时间: 2012-11-12 21:23
LastIndexof()是从右向左执行查找的。  所以是net
作者: 罗宝    时间: 2012-11-12 21:25
本帖最后由 罗宝 于 2012-11-12 21:37 编辑
古银平  这这不是截取 啊,


误会,误会!
没看清楚!被楼主弄转啦!
作者: 李长波    时间: 2012-11-12 21:29
悲剧啊!学习语言就像你当时学习英语一样啊!现在程序里运行!随后执行就行!
作者: 郑丹丹    时间: 2012-11-12 21:29
lastIndexOf()是从字符串最后一个字符开始查找(从右向左),所以获取的是“.”后面的字符。
作者: 郑丹丹    时间: 2012-11-12 21:37
dan8612 发表于 2012-11-12 21:29
lastIndexOf()是从字符串最后一个字符开始查找(从右向左),所以获取的是“.”后面的字符。 ...

老想着获取了,结果是index=4
作者: 程宏志    时间: 2012-11-12 22:31
string Name="assp.net" int index=LastIndexOf('.')??
楼主,首先是你的你这句话错的地方太多,
1.string应该是String
2.Name是关键字关键字,你不应该这么写,你可以小写
3.获取字符串中某个字符的位置,
  那么正确的理解应该是获取子字符串在整个字符串中的位置
  你应该这么写:
String name="assp.net" ;
int index=name.lastIndexOf(".");这里面的大括号里是双引号,不是单引号不要弄混了,的记住啊!

作者: 程宏志    时间: 2012-11-12 22:32
还有一点就是获取的是从字符串从左向右的顺序的索引值
作者: 刘菲    时间: 2012-11-13 10:42
1.首先纠正一下楼主的错误,这个问题是获取字符在字符串中的位置,而不是关于截取字符串的!
2.int indexOf(intch) :返回的是ch在字符串中第一次出现的位置,也就是索引。
3int .lastIndexOf(intch) :是反向索引,也就是从右向左开始查找,返回的同样是字符在字符串中的位置。
  也就是说,当获取的字符不止出现一次时,获取字符最后一次出现的位置。
4.这只是个人的理解,希望能够帮到楼主!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2