C#中分隔字符串

名人堂再聚首 2012-09-29 10:39:02
大家好,我现在有一个问题想向大家请教,具体内容如下:
我的系统会收到邮件,邮件内容如下(这是一个从DVR发出来的邮件的内容,自动有换行的):

DVR IP: http://jsdxmzyjs.ez-dns.com
[2012/08/30 09:16:10]POWER ON
[2012/08/30 09:16:11]VLOSS CH1
[2012/08/30 09:16:11]VLOSS CH2
[2012/08/30 09:16:11]VLOSS CH3
[2012/08/30 09:16:11]VLOSS CH4
[2012/08/30 09:16:11]VLOSS CH5
[2012/08/30 09:16:11]VLOSS CH6
[2012/08/30 09:16:11]VLOSS CH7
[2012/08/30 09:16:11]VLOSS CH8
[2012/08/30 09:16:11]VLOSS CH9
[2012/08/30 09:16:11]VLOSS CH10
[2012/08/30 09:16:11]VLOSS CH11
[2012/08/30 09:16:11]VLOSS CH12
[2012/08/30 09:16:11]VLOSS CH13
[2012/08/30 09:16:11]VLOSS CH14
[2012/08/30 09:16:11]VLOSS CH15
[2012/08/30 09:16:11]VLOSS CH16

我现在想把这个字符串按行保存在一个数组里面。比如上面的字符串共有17行,我想把它放在一个数组里面,数组每个元素放一行内容。
...全文
165 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
名人堂再聚首 2012-10-08
  • 打赏
  • 举报
回复
解决了,谢谢各位!原始的信息是有分行符的。
lu492716656 2012-09-29
  • 打赏
  • 举报
回复
你或取到的字符串不是你贴出来的字符串;
想要分割 可以使用
string strtemp=@"DVR IP: http://jsdxmzyjs.ez-dns.com
[2012/08/30 09:16:10]POWER ON
[2012/08/30 09:16:11]VLOSS CH1
[2012/08/30 09:16:11]VLOSS CH2
[2012/08/30 09:16:11]VLOSS CH3
[2012/08/30 09:16:11]VLOSS CH4
[2012/08/30 09:16:11]VLOSS CH5
[2012/08/30 09:16:11]VLOSS CH6
[2012/08/30 09:16:11]VLOSS CH7
[2012/08/30 09:16:11]VLOSS CH8
[2012/08/30 09:16:11]VLOSS CH9
[2012/08/30 09:16:11]VLOSS CH10
[2012/08/30 09:16:11]VLOSS CH11
[2012/08/30 09:16:11]VLOSS CH12
[2012/08/30 09:16:11]VLOSS CH13
[2012/08/30 09:16:11]VLOSS CH14
[2012/08/30 09:16:11]VLOSS CH15
[2012/08/30 09:16:11]VLOSS CH16
";
Regex.Replace(strtemp, "[", "\n[");

string[] strs = strtemp.Split('\n');
名人堂再聚首 2012-09-29
  • 打赏
  • 举报
回复
要不麻烦各位将这个字符串拿去自己试试看有什么好办法,谢谢了!
名人堂再聚首 2012-09-29
  • 打赏
  • 举报
回复
我看到的格式明明是有分行的,为什么解析后会得到全部的字符串保存在一个元素里面?因为这些内容是通过电子邮件发送来的,是不是它的分行有经过什么特殊处理的?就是有的电邮会使用</br>分行的。
名人堂再聚首 2012-09-29
  • 打赏
  • 举报
回复
我使用split或String[] x = System.Text.RegularExpressions.Regex.Split("你的内容",""\r\n);
得到的结果数组长度都是1,而且其内容是整个字符串。
失落的神庙 2012-09-29
  • 打赏
  • 举报
回复
string strtemp="你的内容。带换行的";
strtemp=strtemp.Replace("\r\n","*");
string[] strs= strtemp.Split('*');
失落的神庙 2012-09-29
  • 打赏
  • 举报
回复
string strtemp=@"DVR IP: http://jsdxmzyjs.ez-dns.com
[2012/08/30 09:16:10]POWER ON
[2012/08/30 09:16:11]VLOSS CH1
[2012/08/30 09:16:11]VLOSS CH2
[2012/08/30 09:16:11]VLOSS CH3
[2012/08/30 09:16:11]VLOSS CH4
[2012/08/30 09:16:11]VLOSS CH5
[2012/08/30 09:16:11]VLOSS CH6
[2012/08/30 09:16:11]VLOSS CH7
[2012/08/30 09:16:11]VLOSS CH8
[2012/08/30 09:16:11]VLOSS CH9
[2012/08/30 09:16:11]VLOSS CH10
[2012/08/30 09:16:11]VLOSS CH11
[2012/08/30 09:16:11]VLOSS CH12
[2012/08/30 09:16:11]VLOSS CH13
[2012/08/30 09:16:11]VLOSS CH14
[2012/08/30 09:16:11]VLOSS CH15
[2012/08/30 09:16:11]VLOSS CH16
";
strtemp=strtemp.Replace("\r\n","*");
string[] strs= strtemp.Split('*');
lu492716656 2012-09-29
  • 打赏
  • 举报
回复
string strtemp=@"DVR IP: http://jsdxmzyjs.ez-dns.com
[2012/08/30 09:16:10]POWER ON
[2012/08/30 09:16:11]VLOSS CH1
[2012/08/30 09:16:11]VLOSS CH2
[2012/08/30 09:16:11]VLOSS CH3
[2012/08/30 09:16:11]VLOSS CH4
[2012/08/30 09:16:11]VLOSS CH5
[2012/08/30 09:16:11]VLOSS CH6
[2012/08/30 09:16:11]VLOSS CH7
[2012/08/30 09:16:11]VLOSS CH8
[2012/08/30 09:16:11]VLOSS CH9
[2012/08/30 09:16:11]VLOSS CH10
[2012/08/30 09:16:11]VLOSS CH11
[2012/08/30 09:16:11]VLOSS CH12
[2012/08/30 09:16:11]VLOSS CH13
[2012/08/30 09:16:11]VLOSS CH14
[2012/08/30 09:16:11]VLOSS CH15
[2012/08/30 09:16:11]VLOSS CH16
";
string[] strs = strtemp.Split('\n');
名人堂再聚首 2012-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
用字符串的split方法就可以了
[/Quote]

我使用了split方法,结果返回的数组长度也是1
名人堂再聚首 2012-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
String[] x = System.Text.RegularExpressions.Regex.Split("你的内容",""\r\n);
[/Quote]

结果数组长度为1
孟子E章 2012-09-29
  • 打赏
  • 举报
回复
如果是文件,可以
String[] x = System.IO.File.ReadAllLines("file path")
nanbaifeiliao 2012-09-29
  • 打赏
  • 举报
回复
用字符串的split方法就可以了
孟子E章 2012-09-29
  • 打赏
  • 举报
回复
String[] x = System.Text.RegularExpressions.Regex.Split("你的内容",""\r\n);

109,883

社区成员

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

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

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