有什么想法吗?
我的程序是文件验证实用程序,我必须读取格式文件,然后用一个空格解析每一行。但显然,编写格式文件的人可能会使用制表符,或2个空格,或任何形式的空格,我正在寻找一些代码来做到这一点。我试过这个:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
我认为这是错误的。
救命啊!
答案 0 :(得分:34)
你可以这样做 -
System.Text.RegularExpressions.Regex.Replace(str,@"\s+"," ");
其中str
是您的字符串。
答案 1 :(得分:0)
input = input.Replace("\t", " ");
List<string> empties = new List<string>();
for (int i=input.Length - 1; i>1; i--)
{
string spcs = "";
for (int j=0; j<=i; j++)
spcs += " ";
if (input.Contains(spcs))
empties.Add(spcs);
}
foreach (string s in empties)
input = input.Replace(s, " ");
答案 2 :(得分:-1)
然而答案是这个(归功于Daok)
Regex regex = new Regex(@"[ ]{2,}");
tempo = regex.Replace(tempo, @" ");