2 つのアンダースコアの間に数字が含まれるリッチテキスト ボックスの行を削除したいと思います。
リッチテキストボックスには、次の値があります (例):
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
and 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);
行の残りの部分は削除されません。
どんな助けにも感謝します。