[英]Regex to remove the third number and add commas
我有以下所有数字数据:
4245 4 553.4 0242 4424.09 2 422404 5955 452
2234234.234 224 -345.25
2423 -234 64.69
我需要单独处理每一行。 我需要删除每个第三个数字,并用逗号将其输出如下:
请仅注意每组后的空格 :
4245,4, 0242,4424.09, 422404,5955
2234234.234,224
2423,-234
在一些帮助下 ,我能够删除第三个零,但是第三个数字现在可以是任何值:
var input = "4245 4 0 242 4424.09 0 422404 5955 0";
var results = Regex.Replace(input, @"(?:\s+|^)0(\s+)|(\s+0)$|\s+", m =>
m.Groups[1].Success ? ", " :
m.Groups[2].Success ? "" : ",");
但是无法弄清楚如何删除第三个数字(无论是否为零)。 任何帮助,将不胜感激。 谢谢。
您可以使用string.Split
, string.Join
和Linq进行此操作。
var input = "4245 4 553.4 0242 4424.09 2 422404 5955 452";
var results = string.Join(
",",
input.Split()
.Select((s, i) => new { Value = s, Index = i + 1 })
.Where(x => x.Index % 3 != 0)
.Select(x => (x.Index % 3 == 1 && x.Index != 1 ? " " : string.Empty) + x.Value));
将输出
4245,4,0242,4424.09,422404,5955
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.