用多行替换MultiLines

时间:2015-08-14 12:15:47

标签: c# regex

我有2个富文箱 richbox1包含全文:

line1

line2

line3

line4
.
.
.

richbox2包含部分文字:

line2

line3

我想用richbox1中的EmptyString替换richbox2中的行。但是这个正则表达式对我不起作用。

richbox1.Text = Regex.Replace(richbox1.Text, richbox2.Text, string.Empty);

2 个答案:

答案 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); 
}
相关问题