我想使用正则表达式从字符串中删除空格(''),点('。')和连字符( - )。
我目前的做法:
string input = "hello how --r dsbadb...dasjidhdsa.dasbhdgsa--dasb";
var res = input
.ToCharArray()
.Where(i => i != ' ' && i != '-' && i != '.')
.Aggregate(" ", (a, b) => a + b);
答案 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
会定位空间,\.
会定位点,而-
会定位连字符并用空字符串替换它们