Regex.Replace不替换

时间:2012-07-05 13:33:44

标签: c# regex

我正在使用regex.replace来替换#'#'环境中的角色。新线条。 但是它没有返回预期的结果。它只是返回相同的输入字符串。 这是我的代码。

Regex.Replace(inputString, @"#", Environment.NewLine);

3 个答案:

答案 0 :(得分:5)

Regex.Replace不会更改您传入的参数。它会将结果作为新字符串返回。

试试这个:

inputString = Regex.Replace(inputString, @"#", Environment.NewLine);

当然,Regex对于这样一个简单的替换来说有点过分。在这种情况下,String.Replace就足够了(注意:String.Replace也不会修改参数,但会返回一个新字符串。)

答案 1 :(得分:2)

您正在做的事情不需要RegEx,更简单:

inputString = inputString.Replace("#", Environment.NewLine);

答案 2 :(得分:0)

正如ABT博士所提到的,您需要将Replace方法返回到变量中。所以,你可以这样做:

inputString = Regex.Replace(inputString, @"#",Environment.NewLine);

这将使用所需的替换更新inputString变量。