怎么循环string

adrianEvin 2015-10-30 02:37:20
string的值是
Device id=‘1’ values=‘1’
Device id=‘2’ values=‘2’
Device id=‘3’ values=‘3’
Device id=‘4’ values=‘4’
Device id=‘5’ values=‘5'
XXXXXXXX
XXXXXXXX
我读取出来是这样的string值里面换行的一行一个设备ID和值
怎么逐行读取呢
...全文
280 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-11-02
  • 打赏
  • 举报
回复
既然你说是读取的, 是从txt里读取的吗? 用readline一行一行读取,而不是一下都读出来,会比较好做. 而且如果文件里内容超多,你一下都读出来不怕内存爆掉?
  • 打赏
  • 举报
回复
如果你只是要读出id,并且id如你例子一样为数字的话,那正则直接\d+就可以了,循环时第一个就是i%2==0就是id,i%2==1就是value
  • 打赏
  • 举报
回复
如果你只是要读出id,并且id如你例子一样为数字的话,那正则直接\d+就可以了,循环时第一个就是i%2==0就是id,i%2==1就是value
洛夏君 2015-11-02
  • 打赏
  • 举报
回复
ajianchina 2015-10-30
  • 打赏
  • 举报
回复
引用 6 楼 crystal_lz 的回复:
貌似你特别喜欢 split 的样子。。主要是 看上去 有点怪怪的
我这人从不朝三暮四。
crystal_lz 2015-10-30
  • 打赏
  • 举报
回复
引用 5 楼 ajianchina 的回复:

string[] strArr = File.ReadAllLines(@"e:/test.txt", System.Text.Encoding.Default);
string[] arr;
Array.ForEach(strArr, p => { arr = p.Split('\''); Console.WriteLine("Device id={0} values={1}", arr[1], arr[3]); });
貌似你特别喜欢 split 的样子。。主要是 看上去 有点怪怪的
ajianchina 2015-10-30
  • 打赏
  • 举报
回复

string[] strArr = File.ReadAllLines(@"e:/test.txt", System.Text.Encoding.Default);
string[] arr;
Array.ForEach(strArr, p => { arr = p.Split('\''); Console.WriteLine("Device id={0} values={1}", arr[1], arr[3]); });
crystal_lz 2015-10-30
  • 打赏
  • 举报
回复

foreach(Match m in Regex.Matchex(strText,@"(?:id='(?<id>.*?)')\s*(?:values='(?<value>).*?')")){
   Console.WriteLine(m.Groups["id"] + "\t" + m.Groups["value"]);
}
秋的红果实 2015-10-30
  • 打赏
  • 举报
回复
这是在文件里吗?.txt里吗
feiyun0112 2015-10-30
  • 打赏
  • 举报
回复
转成数组
str.Split(new string[]{"\r\n"},Splitoption.none)

110,535

社区成员

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

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

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