通过正则表达式用空格替换特殊字符

时间:2012-01-21 10:20:49

标签: c# regex

我有一个替换字符的功能。

public static string Replace(string value)
{
    value = Regex.Replace(value, "[\n\r\t]", " ");
    return value;
}


value="abc\nbcd abcd    abcd\ "
如果在字符串中有任何不需要的空格,它们也会被删除。我想要的结果是这样的 value="abcabcdabcd"。帮助改变Regex Pattern以获得渴望的结果。谢谢。

3 个答案:

答案 0 :(得分:1)

如果你需要从字符串中删除任意数量的空白字符,可能你正在寻找这样的东西:

value = Regex.Replace(value, @"\s+", "");

其中\s匹配任何空格字符,+表示一次或多次。

答案 1 :(得分:1)

不要用空格替换你的换行符,制表符等字符,只需用空格替换所有空格:

public static string RemoveWhitespace(string value)
{
    return Regex.Replace(value, "\\s", "");
}

\s是一个匹配所有空白字符的特殊字符组。 (反斜杠加倍,因为反斜杠在C#字符串中也有特殊含义。)以下MSDN链接包含该字符组的确切定义:

答案 2 :(得分:0)

您可能需要尝试\s指示空格。使用语句Regex.Replace(value, @"\s", ""),输出将为“abcabcdabcd”。