A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏冬 中级黑马   /  2012-11-12 21:05  /  2509 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 魏冬 于 2012-11-14 11:29 编辑

今天在做题的时候 遇到了 一个问题  就是LastIndexOf 是获得 .前面的还是后面的  比如  --?
string Name="assp.net" int index=LastIndexOf('.')??求解答!!!

点评

我更希望你能多敲几个代码演示下就自己很清楚了  发表于 2012-11-12 21:14

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

10 个回复

倒序浏览
本帖最后由 许坤 于 2012-11-12 21:15 编辑

查找字符在字符串中的下标,indexOf从前面开始找,lastIndexOf从后面开始找 ; LastIndexOf('.')自然是从后面到.开始往前找获取后面的数据!

点评

从最后一个字符开始反向搜索此 String。 获得的是'.'的索引值,int型的  发表于 2012-11-12 21:18
回复 使用道具 举报
本帖最后由 罗宝 于 2012-11-12 21:28 编辑

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

这个结果是 net

点评

这这不是截取 啊,  发表于 2012-11-12 21:20
回复 使用道具 举报
LastIndexof()是从右向左执行查找的。  所以是net

点评

哥们,你看清楚在回答吗?你想着是获取net吗?  发表于 2012-11-12 21:27
回复 使用道具 举报
本帖最后由 罗宝 于 2012-11-12 21:37 编辑
古银平  这这不是截取 啊,


误会,误会!
没看清楚!被楼主弄转啦!
回复 使用道具 举报
悲剧啊!学习语言就像你当时学习英语一样啊!现在程序里运行!随后执行就行!

点评

这本来就是一门语言,会了还要看能应用的能力了  发表于 2012-11-12 21:33
回复 使用道具 举报
lastIndexOf()是从字符串最后一个字符开始查找(从右向左),所以获取的是“.”后面的字符。

点评

获取的是'.'的索引值,别想成后面的字符  发表于 2012-11-12 21:32
回复 使用道具 举报
dan8612 发表于 2012-11-12 21:29
lastIndexOf()是从字符串最后一个字符开始查找(从右向左),所以获取的是“.”后面的字符。 ...

老想着获取了,结果是index=4

点评

恩恩,这就对了,实践了之后在正确的回答  发表于 2012-11-12 21:38

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 鼓励下,加油

查看全部评分

回复 使用道具 举报
string Name="assp.net" int index=LastIndexOf('.')??
楼主,首先是你的你这句话错的地方太多,
1.string应该是String
2.Name是关键字关键字,你不应该这么写,你可以小写
3.获取字符串中某个字符的位置,
  那么正确的理解应该是获取子字符串在整个字符串中的位置
  你应该这么写:
String name="assp.net" ;
int index=name.lastIndexOf(".");这里面的大括号里是双引号,不是单引号不要弄混了,的记住啊!

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

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

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马