从字符串中删除特定的特殊字符

时间:2011-09-14 07:53:40

标签: c# .net regex replace

我想使用正则表达式从字符串中删除空格(''),点('。')和连字符( - )。

我目前的做法:

string input = "hello     how --r dsbadb...dasjidhdsa.dasbhdgsa--dasb";          
var res = input
     .ToCharArray()
     .Where(i => i != ' ' && i != '-' && i != '.')
     .Aggregate(" ", (a, b) => a + b);

3 个答案:

答案 0 :(得分:7)

string filteredInput = Regex.Replace(input, "[ .-]+", "");

应该更容易,更易读。

答案 1 :(得分:1)

var result = string.Concat(input.Where(c => !new[] { '.', ' ', '-' }.Contains(c)));

答案 2 :(得分:0)

string result = Regex.Replace(input, "[\s\.-]+", "");

\s会定位空间,\.会定位点,而-会定位连字符并用空字符串替换它们