如何从String中删除空格?

时间:2013-03-11 03:30:31

标签: c# .net vb.net string whitespace

如何从.NET中的字符串中删除空格?

  

例如。 “你好世界!”变成了“HELLOWORLD!”

4 个答案:

答案 0 :(得分:3)

使用正则表达式,(我就是这样做的!)

string sample = "HELLO WORLD ! ";

resultString = Regex.Replace(sample, @"\s+", "");

或者,LINQ方式

string sample = "Hello world! ";
var result = new string(sample.Where(c => !Char.IsWhiteSpace(c)).ToArray());

检查此问题:Fastest way to remove white spaces in string

似乎是最好的方法。

public static string RemoveWhiteSpaces(this string str)
{
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < str.Length; i++)
    {
        char c = str[i];
        if (!Char.IsWhiteSpace(c))
            sb.Append(c);
    }

    return sb.ToString();
}

答案 1 :(得分:2)

如果你只是担心只关于空格,请使用String类的Replace方法:

var str = " HELLO WORLD ! ";
var strWithoutSpaces = str.Replace(" ", "");

否则,请使用AppDeveloper的答案中建议的Regex.Replace方法。

答案 2 :(得分:1)

使用Char.IsWhiteSpace迭代原始字符串中的每个字符(AppDeveloper答案的修改)

public static string RemoveWhiteSpaces(this string str)
{
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < str.Length; i++)
    {
        if(!Char.IsWhiteSpace(str, i)){
           sb.Append(str[i]);
        }
    }
    return sb.ToString();
}

-----原始答案------

String.Trim()

  

空白字符由Unicode标准定义。修剪()   方法删除任何产生a的前导和尾随字符   将它们传递给Char.IsWhiteSpace时返回true   方法

http://msdn.microsoft.com/en-us/library/t97s7bs3.aspx

答案 3 :(得分:1)

使用此

var original=" HELLO WORLD  \t! ";
var result=original.Select(x => x.ToString().Trim()).Aggregate(String.Concat);

或者

var result=new String(original.Where(x => !Char.IsWhiteSpace(x)).ToArray());

它确实删除了空格,而不仅仅是空格