Как удалить начальные и конечные пробелы из строки - PullRequest
29 голосов
/ 17 августа 2010

У меня есть следующий ввод:

string txt = "                   i am a string                                    "

Я хочу удалить пробел в начале и конце строки.

Результат должен быть: "i am a string"

Как я могу сделать это в C #?

Ответы [ 9 ]

71 голосов
/ 17 августа 2010

String.Trim

Удаляет все начальные и конечные пробельные символы из текущего объекта String.

Использование:

txt = txt.Trim();

Если это не работает, то весьма вероятно, что "пробелы" - это не пробелы, а какой-то другой непечатный или пробельный символ, возможно, табуляции.В этом случае вам нужно использовать метод String.Trim, который принимает массив символов:

  char[] charsToTrim = { ' ', '\t' };
  string result = txt.Trim(charsToTrim);

Источник

Вы можете добавлять в этот список как и когдавы встречаете больше места, как символы, которые находятся во ваших входных данных.Хранение этого списка символов в вашей базе данных или файле конфигурации также будет означать, что вам не нужно перестраивать приложение каждый раз, когда вы сталкиваетесь с новым символом для проверки.

16 голосов
/ 17 августа 2010

Вы можете использовать:

  • 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"   
8 голосов
/ 26 июня 2014

Я действительно не понимаю, какие обручи прыгают через другие ответы.

var myString = "    this    is my String ";
var newstring = myString.Trim(); // results in "this is my String"
var noSpaceString = myString.Replace(" ", ""); // results in "thisismyString";

Это не ракетостроение.

5 голосов
/ 17 августа 2010
txt = txt.Trim();
4 голосов
/ 17 августа 2010

Или вы можете разбить вашу строку на строковый массив, разделив пробел, а затем добавить каждый элемент строкового массива в пустую строку.
Может быть, это не самый лучший и быстрый метод, но вы можете попробовать, если другой ответне то, что вы хотите.

2 голосов
/ 17 августа 2010

text.Trim () должен использоваться

string txt = "                   i am a string                                    ";
txt = txt.Trim();
1 голос
/ 17 августа 2010

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

0 голосов
/ 04 августа 2017

Вы можете использовать

string txt = "                   i am a string                                    ";
txt = txt.TrimStart().TrimEnd();

Вывод "я строка"

0 голосов
/ 18 августа 2010
 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();
    }

ВЫВОД:

Он увидел милую собаку. Было еще одно предложение. Он увидел милую собаку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...