Regex删除第三个数字并添加逗号

本文关键字:数字 添加 三个 删除 Regex | 更新日期: 2023-09-27 18:06:45

我有以下所有数字数据:

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 ? "" : ",");

但不知道如何删除第三个数字,无论它是否为零。任何帮助都会很感激。谢谢。

Regex删除第三个数字并添加逗号

您可以对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