Я хотел бы удалить строки богатого текстового поля, содержащего число между двумя символами подчеркивания.Удалить строки, содержащие число между двумя символами подчеркивания
На RichTextBox, у меня есть следующие значения (примеры):
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_
и т.д.
Я использую эту функцию здесь, которая работает отлично, но я думаю, что Regex будет лучше:
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();
}
То, что я получил в Regex это:
richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"^Z_\d*_", "", RegexOptions.Multiline);
Который не удалит оставшуюся часть строки.
Цените любую помощь.
Любая причина, по которой вы используете. * Вместо \ w *? – sab669
Спасибо Джерри. Это было именно то, что я искал. Cheers: D –
@ user1189566 Вы никогда не знаете, какой символ может быть после этого последнего подчеркивания. – Jerry