我有2个富文箱 richbox1包含全文:
line1
line2
line3
line4
.
.
.
richbox2包含部分文字:
line2
line3
我想用richbox1中的EmptyString替换richbox2中的行。但是这个正则表达式对我不起作用。
richbox1.Text = Regex.Replace(richbox1.Text, richbox2.Text, string.Empty);
答案 0 :(得分:1)
目前形式的问题不需要正则表达式。只需使用常规替换。
您的解决方案从richbox1获取字符串并将其解释为正则表达式。在正则表达式中具有特殊含义的字符将以您不想要的方式进行解释。
更新1
常规替换尊重换行符。此代码确认
var s1 = @"line1
line2";
var s2 = @"line1
line2
line3
line4";
s2.Replace(s1,"").Dump();
更新2
替换
^\s+|\s+$
什么都没有。这将包括被视为空格的换行符。
答案 1 :(得分:1)
此示例代码应该有效:
foreach(string line in richbox2.Lines)
{
richbox1.Text = richbox2.Text.Replace(line, string.Empty);
}