尝试用一个空格替换所有空白区域

时间:2010-09-16 09:43:37

标签: c# regex whitespace

有什么想法吗?

我的程序是文件验证实用程序,我必须读取格式文件,然后用一个空格解析每一行。但显然,编写格式文件的人可能会使用制表符,或2个空格,或任何形式的空格,我正在寻找一些代码来做到这一点。我试过这个:

        public static string RemoveWhitespace(this string line) 
        {
            try 
            { 
                return new Regex(@"\s*").Replace(line, " "); 
            } 
            catch (Exception) 
            { 
                return line; 
            }
        }

我认为这是错误的。
救命啊!

3 个答案:

答案 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)

这是this question

的副本

然而答案是这个(归功于Daok)

Regex regex = new Regex(@"[ ]{2,}");     
tempo = regex.Replace(tempo, @" ");