Как удалить ведущие и конечные пробелы из строки
У меня есть следующий ввод:
string txt = " i am a string "
Я хочу удалить пробел с начала и конца строки.
Результат должен быть: "i am a string"
Как это сделать в С#?
Ответы
Ответ 1
String.Trim
Удаляет все символы верхнего и нижнего пробелов из текущего объекта String.
Использование:
txt = txt.Trim();
Если это не работает, очень вероятно, что "пробелы" - это не пробелы, а некоторые другие символы непечатаемого или белого пробела, возможно, вкладки. В этом случае вам нужно использовать метод String.Trim
, который принимает массив символов:
char[] charsToTrim = { ' ', '\t' };
string result = txt.Trim(charsToTrim);
Источник
Вы можете добавить в этот список, как и когда вы столкнетесь с большим количеством пробелов, например, в ваших входных данных. Хранение этого списка символов в вашей базе данных или файле конфигурации также означало бы, что вам не нужно перестраивать приложение каждый раз, когда вы сталкиваетесь с новым символом для проверки.
Ответ 2
Вы можете использовать:
- String.TrimStart - Удаляет все ведущие вхождения набора символов, заданных в массиве из текущего объекта String.
- String.TrimEnd - Удаляет все завершающие вхождения набора символов, заданных в массиве из текущего объекта String.
- String.Trim - комбинация двух функций выше
Применение:
string txt = " i am a string ";
char[] charsToTrim = { ' ' };
txt = txt.Trim(charsToTrim)); // txt = "i am a string"
EDIT:
txt = txt.Replace(" ", ""); // txt = "iamastring"
Ответ 3
Я действительно не понимаю некоторые из обручей, которые проходят другие ответы.
var myString = " this is my String ";
var newstring = myString.Trim(); // results in "this is my String"
var noSpaceString = myString.Replace(" ", ""); // results in "thisismyString";
Это не ракетостроение.
Ответ 4
txt = txt.Trim();
Ответ 5
Или вы можете разделить свою строку на строковый массив, разбив по пробелу и затем добавить каждый элемент строкового массива в пустую строку.
Может быть, это не самый лучший и быстрый способ, но вы можете попробовать, если другой ответ не то, что вы хотите.
Ответ 6
text.Trim() следует использовать
string txt = " i am a string ";
txt = txt.Trim();
Ответ 7
Используйте метод Trim.
Ответ 8
static void Main()
{
// A.
// Example strings with multiple whitespaces.
string s1 = "He saw a cute\tdog.";
string s2 = "There\n\twas another sentence.";
// B.
// Create the Regex.
Regex r = new Regex(@"\s+");
// C.
// Strip multiple spaces.
string s3 = r.Replace(s1, @" ");
Console.WriteLine(s3);
// D.
// Strip multiple spaces.
string s4 = r.Replace(s2, @" ");
Console.WriteLine(s4);
Console.ReadLine();
}
ВЫВОД:
Он увидел милую собаку.
Было еще одно предложение.
Он увидел милую собаку.
Ответ 9
Вы можете использовать
string txt = " i am a string ";
txt = txt.TrimStart().TrimEnd();
Вывод: "Я - строка"