Как убрать все пробелы в начале или конце строки?


208

Как я могу удалить все пробелы в начале и конце строки?

Вот так:

"hello"возвращает "hello"
"hello "возвращает "hello"
" hello "возвращает "hello"
" hello world "возвращает"hello world"

Ответы:


445

String.Trim()возвращает строку, которая равна входной строке со всеми пробелами, урезанными от начала и до конца:

"   A String   ".Trim() -> "A String"

String.TrimStart() возвращает строку с пробелами, обрезанными с начала:

"   A String   ".TrimStart() -> "A String   "

String.TrimEnd() возвращает строку с пробелами, обрезанными с конца:

"   A String   ".TrimEnd() -> "   A String"

Ни один из методов не изменяет исходный строковый объект.

(По крайней мере, в некоторых реализациях, если нет пробелов, которые нужно обрезать, вы получите тот же строковый объект, с которого вы начали:

csharp> string a = "a"; csharp> string trimmed = a.Trim(); csharp> (object) a == (object) trimmed; returns true

Я не знаю, гарантировано ли это языком.)


1
⁺¹ для определения МС пробела. Я встретил странное поведение, которое .TrimEnd()не работает (для неразрывного пробела) , но в итоге это просто тот символ, который не указан в документации.
Привет-ангел

2
Существует множество способов обрезки струн, и довольно многие из них отмечены на стендах. Тем не менее, мне нравится .Trim () как самый быстрый и легкий для чтения.

Может быть, это полезно знать: если у вас есть несколько строк, как в TextArea. И вы нажимаете клавишу ввода, вы получаете что-то вроде: " A String \r\n " .Trim()распознает ли это также пробел.
Наш Карп

@NashCarp: Это потому, что \ r и \ n также являются пробельными символами
хаха

20

посмотрите, Trim()что возвращает новую строку с пробелами, удаленными из начала и конца строки, для которой она вызывается.





8

String.Trim()удаляет все пробелы в начале и конце строки. Чтобы удалить пробел внутри строки или нормализовать пробел, используйте регулярное выражение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.