如何从.NET
中的字符串中删除空格?
例如。 “你好世界!”变成了“HELLOWORLD!”
答案 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 方法
答案 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());
它确实删除了空格,而不仅仅是空格。