28

我想知道如何在 C# 中表示空白字符。我找到了空字符串表示string.Empty。有没有类似的东西代表一个空白字符?

我想做这样的事情:

test.ToLower().Split(string.Whitespace)
//test.ToLower().Split(Char.Whitespace)
4

7 回答 7

29

哪个空白字符?空字符串非常明确 - 它是 0 个字符的序列。但是," ""\t"都是"\n"包含单个字符的字符串,该字符被表征为空格。

如果您只是指空格,请使用空格。如果您指的是其他空白字符,则很可能有一个自定义转义序列(例如"\t"制表符),或者您可以使用 Unicode 转义序列 ( "\uxxxx")。我不鼓励您在源代码中包含非 ASCII 字符,尤其是空白字符。

编辑:既然你已经解释了你想要做什么(这应该是你的问题开始),你最好使用代表空格Regex.Split的正则表达式:\s

Regex regex = new Regex(@"\s");
string[] bits = regex.Split(text.ToLower());

有关其他字符类的更多信息,请参阅Regex Character Classes文档。

于 2012-06-13T16:49:07.613 回答
9

不,没有这样的常数。

于 2012-06-13T16:49:01.880 回答
6

WhiteSpace CHAR 可以在此处使用 ASCII 代码引用。 并且 Character# 32 代表一个空格,因此:

char space = (char)32;

例如,您可以使用这种方法在您想要的任何地方生成所需数量的空白:

int _length = {desired number of white spaces}
string.Empty.PadRight(_length, (char)32));
于 2019-03-05T01:17:53.307 回答
2

所以我遇到了同样的问题,所以我所做的是创建一个带有空格的字符串,然后只索引字符。

String string = "Hello Morning Good Night";

char empty =  string.charAt(5);

现在,每当我需要一个空字符时,我都会从内存中的引用中提取它。

于 2021-05-19T22:37:28.473 回答
1

哪个空白字符?最常见的是普通空格,它位于我句子中的每个单词之间。这只是" "

于 2012-06-13T16:49:13.660 回答
1

使用正则表达式,您可以用元字符“\s”表示任何空白字符

MSDN 参考

于 2012-06-13T16:54:47.127 回答
1

您始终可以使用 Unicode 字符,对我个人而言,这是最明确的解决方案:

var space = "\u0020"
于 2019-11-02T23:40:45.097 回答