Як видалити весь пробіл з початку або в кінці рядка?


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
Definition для визначення MS пробілу. Я зустрів дивну поведінку, .TrimEnd()яка не спрацьовує (для нерозривного символу простору) , але врешті-решт це просто те, що персонаж не вказаний у документації.
Привіт-Ангел

2
Існує чимало способів обрізання струн, і досить багато їх позначено на лавці. Тим не менш, мені подобається .Trim () як найшвидший для написання і найпростіший для читання.

Можливо, це корисно знати: Якщо у вас є множення рядків, як у TextArea. І ви натискаєте клавішу введення, ви отримуєте щось на кшталт: " A String \r\n " .Trim()чи визнає це також пробілом.
Неш Карп

@NashCarp: Це тому, що \ r і \ n також символи пробілу
huha

20

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





8

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.