我有这样的字符串:
"This______is_a____string."
("_"代表空格)
我想把所有多余的空格变成一个。在C#中有没有可以做到这一点的函数?
var s = "This is a string with multiple white space";
Regex.Replace(s, @"\s+", " "); // "This is a string with multiple white space"
Regex r = new Regex(@"\s+");
string stripped = r.Replace("Too many spaces", " ");
var astring = "This is a string with to many spaces.";
astring = string.Join(" ", astring.Split(' ').Where(m => m != string.Empty));
输出 "这是一个带有太多空格的字符串"
string myString = "This is a string.";
string myNewString = "";
char previousChar = ' ';
foreach(char c in myString)
{
if (!(previousChar == ' ' && c == ' '))
myNewString += c;
previousChar = c;
}
StringBuilder
或类似的东西会使我的示例更难理解。给 myNewString
和 previousChar
赋一个初始值也不是最优的,但我只是试图提出一些不使用正则表达式的解决问题的建议。请随意将其变得“完美” :) - Bazzz