如何在C#中用另一个单词替换所有单词实例?是否有RegexOption
指定在Perl中替换所有实例,例如/g
的Perl:
$line = "Oranges and Apples. Apples and Oranges";
$line =~ s/Oranges/Pears/g;
C#:
string line = "Oranges and Apples. Apples and Oranges";
line = Regex.Replace(line, @"Oranges", "Pears", ????);
我缺少的部分由C#代码段中的????
表示。
答案 0 :(得分:4)
在C#中,Regex.Replace
函数是隐式全局的,因此它等效于Perl中的g
修饰符。您不需要任何RegexOptions
,因为Perl替换上没有其他标志。
line = Regex.Replace(line, "Oranges", "Pears");
如果由于某种原因不想要全局行为,则需要使用实例,而不是静态方法:
line = (new Regex("Oranges")).Replace(line, "Pears", 1);
但是你应该在这个具体案例中使用String.Replace()
,因为这不是一个模式:
line = line.Replace("Oranges", "Pears");