文本格式匹配高手进!

waCtr 2011-07-26 10:20:40
格式如下
1 0
2 12312,321312
3 321321,32323
4 4343,434334
....
14


第1列式序号 可以不要
主要是要后面两列的值!和第一行的0
求解
...全文
198 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
waCtr 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 fangxinggood 的回复:]
line.Split(new char[] { ' ' })[0];

改为

line.Split(new char[] { '\t' })[0];

看看。上面说了,如果空格无法分隔,那么你中间的有可能是Tab
[/Quote]
哦! 我自己改改看 谢谢了!!!
机器人 2011-07-26
  • 打赏
  • 举报
回复
line.Split(new char[] { ' ' })[0];

改为

line.Split(new char[] { '\t' })[0];

看看。上面说了,如果空格无法分隔,那么你中间的有可能是Tab
waCtr 2011-07-26
  • 打赏
  • 举报
回复
JustACoder
foreach (var line in File.ReadAllLines(WjNmae))
{
var content = line.Split(new char[] { ' ' })[0];
var fields = content.Split(new char[] { ',' });
foreach (var field in fields)
Console.WriteLine(field);
Console.WriteLine("-----------");
}
这样能读取 但是怎么把前面的序号给去掉呢!?现在序号一起给读进去了
机器人 2011-07-26
  • 打赏
  • 举报
回复
拿到Emedit 或者 editplus里看看中间分隔的是 空格 还是 \t
机器人 2011-07-26
  • 打赏
  • 举报
回复
var content = line.Split(new char[] {' '});

改为

var content = line.Split(new char[] {' '})[0];
机器人 2011-07-26
  • 打赏
  • 举报
回复
用啥米正则,不用序号的话:

先用空格分隔,再用逗号分隔了。

foreach(var line in File.ReadAllLines("xxx.txt"))
{
var content = line.Split(new char[] {' '});
var fields = content.Split(new char[] {','});
foreach(var field in fields)
Console.WriteLine(field);
Console.WriteLine("-----------");
}
dalmeeme 2011-07-26
  • 打赏
  • 举报
回复
怪了,我这里测试是没问题的,输出也是正确的。检查一下字符串s里的值存在吗?用断点测一下。
waCtr 2011-07-26
  • 打赏
  • 举报
回复
是文本内容格式
waCtr 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gefangliang 的回复:]
加断点看下string s = File.ReadAllText(Server.MapPath("~/test.txt"));
MatchCollection matches = Regex.Matches(s, @"(?<=\d+ +)\d+(,\d+)*");
是否有值?
[/Quote]
我S有值 但是一到循环那里 就不进去了 直接跳出
心灵彩虹 2011-07-26
  • 打赏
  • 举报
回复
加断点看下string s = File.ReadAllText(Server.MapPath("~/test.txt"));
MatchCollection matches = Regex.Matches(s, @"(?<=\d+ +)\d+(,\d+)*");
是否有值?
waCtr 2011-07-26
  • 打赏
  • 举报
回复
foreach (Match match in matches)不会进循环! 直接出去了 什么也没有
dalmeeme 2011-07-26
  • 打赏
  • 举报
回复
		string s = File.ReadAllText(Server.MapPath("~/test.txt"));
MatchCollection matches = Regex.Matches(s, @"(?<=\d+ +)\d+(,\d+)*");
foreach (Match match in matches)
{
string[] values = match.Value.Split(',');
foreach (string value in values)
Response.Write(value + " ");
Response.Write("<br/>");
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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