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

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()что возвращает новую строку с пробелами, удаленными из начала и конца строки, для которой она вызывается.

Русь Кэм
источник
17
string a = "   Hello   ";
string trimmed = a.Trim();

trimmed сейчас "Hello"

adamse
источник
13

используйте String.Trim()функцию.

string foo = "   hello ";
string bar = foo.Trim();

Console.WriteLine(bar); // writes "hello"
Адам Робинсон
источник
8

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

tdammers
источник