删除两个下划线之间包含数字的行
本文关键字:包含 之间 数字 下划线 两个 删除 | 更新日期: 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_OBJECT
、Z_TI_PROJECTS
和Z_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]+
(,因为您明确地在下划线之间寻找数字。