删除两个下划线之间包含数字的行

本文关键字:包含 之间 数字 下划线 两个 删除 | 更新日期: 2023-09-27 18:34:32

我想删除包含两个下划线之间的数字的富文本框的行。

在富文本框上,我有以下值(示例(:

Z_OBJECTS
Z_1_OBJECTS
Z_DEBUG
Z_1_DEBUG
Z_2_DEBUG
Z_TI_PROJECTS
Z_1_TI_PROJECTS

我只想保留Z_OBJECTZ_TI_PROJECTSZ_DEBUG的行,删除包含1_等的行。

我在这里使用这个函数,效果很好,但我认为正则表达式会更好:

int total = 22;
for (int i = 1; i <= total; i++)
{
    List<string> finalLines = richTextBox1.Lines.ToList();
    finalLines.RemoveAll(x => x.StartsWith("Z_" + i + "_"));
    richTextBox1.Lines = finalLines.ToArray();
}

我在正则表达式中得到的是这样的:

richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"^Z_'d*_", "", RegexOptions.Multiline);

这不会删除行的其余部分。

感谢任何帮助。

删除两个下划线之间包含数字的行

只需将匹配项扩展到该行的其余部分:

@"^Z_'d+_.*$"

而且我认为最好使用 'd+(或[0-9]+(,因为您明确地在下划线之间寻找数字。