如何正确表示空白字符

时间:2012-06-13 16:47:34

标签: c#

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

我想做这样的事情:

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

7 个答案:

答案 0 :(得分:21)

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

如果你只是指一个空间,请使用空格。如果你的意思是其他一些空白字符,那么可能有一个自定义转义序列(例如"\t"表示)或者你可以使用Unicode转义序列("\uxxxx")。我不鼓励你在源代码中包含非ASCII字符,特别是空白字符。

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

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

有关其他角色类的详细信息,请参阅Regex Character Classes文档。

答案 1 :(得分:6)

不,没有这样的常数。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

使用正则表达式,您可以使用元字符“\ s”

表示任何空格字符

MSDN Reference

答案 4 :(得分:1)

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

String string = "Hello Morning Good Night";

char empty =  string.charAt(5);

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

答案 5 :(得分:0)

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

var space = "\u0020"

答案 6 :(得分:-1)

可以使用ASCII Codes here.引用WhiteSpace CHAR 字符#32表示空格,因此:

char space = (char)32;

例如,您可以使用这种方法在所需的任何位置产生所需数量的空白:

int _length = {desired number of white spaces}
string.Empty.PadRight(_length, (char)32));