有一种方法可以从字符串中删除空格字符?

问题描述 投票:0回答:11
是否有

string

类成员函数(或其他)用于从字符串中删除所有空格?像python的
str.strip()

c# .net string standard-library
11个回答
32
投票

myString = myString.Replace(" ", "");

如果您想删除可以使用linq的白空间字符,即使语法对此用例不太吸引人:

myString = new string(myString.Where(c => !char.IsWhiteSpace(c)).ToArray());

String.trim


10
投票

如果要删除预先启动字符串或在ITT末端的空间,则可能需要查看Trimstart()和Trimend()和Trim()。

    


3
投票
string whitespaceStripped = new string((from char c in someString where !char.IsWhiteSpace(c) select c).ToArray());


3
投票
String a = "blabla "; var b = a.Trim(); // or TrimEnd or TrimStart

yes,
String.Trim()

2
投票

var result = " a b ".Trim();

gives
"a b"

2
投票
result

如果要删除字符串中的

all
空间,则可以使用

var result = " a b ".Trim(' ');

string.Replace()

gives
var result = "   a b    ".Replace(" ", "");
但这不等于python中的

"ab"

我对Python不太了解... 如果只需在开始时删除空格,然后您可以使用.NET in

result
如果它删除了所有空间,然后使用

str.strip()

有许多不同的方法,有些速度比其他方面更快:
str.strip()
    

您可以使用

1
投票
str = str.Trim()

我很惊讶没有人提到这一点:

str = str.Replace ( " ", "")

str = (from c in str where !char.IsWhiteSpace(c) select c).ToString()

默认情况下,沿着字符划分

public static string StripTabsAndNewlines(this string s) { //string builder (fast) StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.Length; i++) { if ( ! Char.IsWhiteSpace(s[i])) { sb.Append(); } } return sb.tostring(); //linq (faster ?) return new string(input.ToCharArray().Where(c => !Char.IsWhiteSpace(c)).ToArray()); //regex (slow) return Regex.Replace(s, @"\s+", "") }
,因此这是通过直接使用
StringVariable.Replace(" ","")

1
投票

对我来说是最大的事情,到目前为止是如此。
String.Join("", " all  manner\tof\ndifferent\twhite spaces!\n".Split())

0
投票

规划空间?脱衣空间?为什么要重要?只有我们要搜索现有的实现,但不要忘记解决方案而不是搜索MSDN(BORING)。

您应该使用下面的两个功能中的1个从任何字符串中剥离任何字符的字符。 您可以删除像这样的任何字符
string.Split

0
投票
或您可以像这样的角色集(可以这么说)

char.IsWhiteSpace


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.