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

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

Вот так:

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


person pedram    schedule 01.08.2010    source источник


Ответы (7)


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

"   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

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

person Mau    schedule 01.08.2010
comment
⁺¹ для определения пробелов в MS. Я встретил странное поведение, когда .TrimEnd() не работает (для неразрывного пробела), но, в конце концов, это просто символ, не указанный в документации. - person Hi-Angel; 21.10.2015
comment
Существует множество способов обрезки струн, и некоторые из них - скамейки. -marked. Тем не менее, мне нравится .Trim () как самый быстрый для записи и самый легкий для чтения. - person ; 15.08.2016
comment
Может быть, полезно знать следующее: если у вас есть несколько строк, как в TextArea. И вы нажимаете клавишу ввода, вы получаете что-то вроде: " A String \r\n " .Trim() тоже распознает это как пробел. - person Nash Carp; 10.11.2017
comment
@NashCarp: Это потому, что \ r и \ n также являются символы пробела - person huha; 08.03.2019

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

person Russ Cam    schedule 01.08.2010

string a = "   Hello   ";
string trimmed = a.Trim();

trimmed сейчас "Hello"

person adamse    schedule 01.08.2010

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

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

Console.WriteLine(bar); // writes "hello"
person Adam Robinson    schedule 01.08.2010

Используйте метод String.Trim.

person jwaliszko    schedule 01.08.2010

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

person tdammers    schedule 01.08.2010

Trim() Удаляет все начальные и конечные символы пробела из текущей строки. Trim(Char) Удаляет все начальные и конечные экземпляры символа из текущей строки. Trim(Char[]) Удаляет все начальные и конечные вхождения набора символов, указанного в массиве, из текущей строки.

Взгляните на следующий пример, который я цитировал со страницы документации Microsoft.

char[] charsToTrim = { '*', ' ', '\''};
string banner = "*** Much Ado About Nothing ***";
string result = banner.Trim(charsToTrim);
Console.WriteLine("Trimmmed\n   {0}\nto\n   '{1}'", banner, result);

// The example displays the following output:
//       Trimmmed
//          *** Much Ado About Nothing ***
//       to
//          'Much Ado About Nothing'
person Abdulhakim Zeinu    schedule 12.12.2020