各位大神帮我看看这个问题吧,关于lastindexof的

xyz969094644 2016-08-13 09:29:59
比如我有一段这样的字符串
19.2% 66.5% 2013-08-03 20:21:45 6.40 4.80 1.32 13.9% 18.6% 67.5

然后我想用lastindexof搜索倒数第三个空格的位置,并用substring来截取,这种应该怎么写啊
...全文
210 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lshfong 2016-08-14
  • 打赏
  • 举报
回复
先用空格来分割成数组,然后按数组索引来取指定的字符
xuzuning 2016-08-14
  • 打赏
  • 举报
回复
            var s = "19.2% 66.5% 2013-08-03 20:21:45   6.40  4.80  1.32 13.9% 18.6% 67.5";
            var n = 3;
            var index = s.Length;
            while(n-- > 0) index = s.LastIndexOf(" ", index - 1);
            Console.WriteLine(s.Substring(index + 1));
13.9% 18.6% 67.5
秋的红果实 2016-08-14
  • 打赏
  • 举报
回复
类似问题不用记住,lastindexof(就会有提示,起始位置,搜索长度等,同理,substring也一样 或者https://msdn.microsoft.com/library/system.string.lastindexof.aspx .NET像这样的方法、属性、类、接口等等,多如牛毛,记不住的
lzl1030152809 2016-08-13
  • 打赏
  • 举报
回复

string str="19.2% 66.5% 2013-08-03 20:21:45   6.40  4.80  1.32 13.9% 18.6% 67.5";
string s="";
// 最后一个空格位置
int index1=str.LastIndexOf(" ");
s=str.Substring(index1);
// 倒数第二个空格位置
int index2=s.LastIndexOf(" ");
s=.str.Substring(index2);
// 倒数第三个空格位置
int index3=s.LastIndexOf(" ");
lzl1030152809 2016-08-13
  • 打赏
  • 举报
回复

// 第一个空格位置
int index1=str.IndexOf(" ");
// 第二个空格位置
int index2=str.IndexOf(" ", index1+1);
// 第三个空格位置
int index3=str.IndexOf(" ", index2+1);
xyz969094644 2016-08-13
  • 打赏
  • 举报
回复
引用 2 楼 Forever1111a 的回复:
LastIndexOf只能找最后一个
这个我知道,但我之前用indexof+for循环的办法搜到了字符串前第三个空格的位置,就是倒数不会用
lzl1030152809 2016-08-13
  • 打赏
  • 举报
回复
LastIndexOf只能找最后一个
xyz969094644 2016-08-13
  • 打赏
  • 举报
回复
求解。。。。。。。。。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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