2012-06-13 2 views
18

Я хотел знать, как представлять пробельный символ в C#. Я нашел пустое представление строки string.Empty. Есть ли что-то подобное, представляющее символ пробела?Как правильно представлять символ пробела

Я хотел бы сделать что-то вроде этого:

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

бы не так просто быть единым пространством? (или ascii equivilant?) – Limey

+1

Пробел - это набор символов. –

+0

Возможный дубликат [Лучший способ указать пробелы в операции String.Split] (http://stackoverflow.com/questions/6111298/best-way-to-specify-whitespace-in-a-string-split-operation) – nevermind

ответ

17

Какой символ пробега? Пустая строка довольно однозначная - это последовательность из 0 символов. Однако " ", "\t" и "\n" - все строки, содержащие один символ, который характеризуется как пробел.

Если вы имеете в виду пробел, используйте пробел. Если вы имеете в виду какой-то другой символ пробела, для него может быть специальная управляющая последовательность (например, "\t" для вкладки), или вы можете использовать escape-последовательность Unicode ("\uxxxx"). Я бы отговорил вас от включения символов, отличных от ASCII, в исходный код, особенно в виде пробелов.

EDIT: Теперь, когда вы объяснили, что вы хотите сделать (что должно быть в вашем вопросе, чтобы начать с), вы бы лучше использовать Regex.Split с регулярным выражением \s, который представляет пробельные:

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

См. Документацию Regex Character Classes для получения дополнительной информации о других классах символов.

+0

Привет, я ссылаюсь на этот пост http://stackoverflow.com/ вопросы/6111298/лучший путь к заданным-пробельные-в-струнной-сплит-операции. Поскольку у меня была та же проблема. У меня есть файл csv, где пробел не совпадал с '' в функции split. Я хотел бы поместить string.Whitespace в функцию, если она существует. – Luke101

+0

@ Luke101: Было бы полезно, если бы вы все это сказали. См. Мое редактирование - в основном вы должны использовать регулярные выражения. –

+0

Отлично, именно то, что мне нужно. Извините за недопонимание. Прояснит должности в будущем. – Luke101

4

Нет, не такая постоянная.

1

Какой символ пробела? Наиболее распространенным является нормальное пространство, которое находится между каждым словом в моих предложениях. Это всего лишь " ".

+0

Я использовал «SPACE» вместо «SPACE» для представления символа пространства в C# – Zeeshanef

+4

'' '' '' '' '' '' '' '' string'. В контексте 'Split',' char', вероятно, вы хотите использовать. Так что да, ты прав –

+0

Спасибо ... Вам нужно изменить ваш ответ и добавить этот комментарий в качестве ответа. Теперь у вас больше комментариев, чем ваш ответ. – Equiman

1

Использование регулярных выражений, вы можете представить любой символ пробела с метасимволом «\ s»

MSDN Reference