2010-08-17 3 views

ответ

68

String.Trim

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

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

txt = txt.Trim(); 

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

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

Source

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

1

Используйте метод дифферента.

16

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

  • 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" 
4

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

+0

это работает для замены пробелов, которые не в начале или в конце строки. – levininja

0
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(); 
    } 

ВЫВОД:

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

6

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

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

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

-2

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

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

Выход есть «я строка»

+0

@john: Нет ничего плохого в попытке получить репутацию от ответа на старые вопросы, если ответы будут * хорошими *. –

+1

@NathanTuggy Действительно. Извините, если я столкнулся с тем, что подразумеваю что-то другое. Читая мой комментарий, теперь он звучит довольно одеяло. Конечно, хорошие ответы на старые вопросы в порядке. – john

+0

@john: Я не ожидаю репутации. Если вам нужно обрезать оставшееся, что такое решение? Вот почему я упоминаю здесь. Удовлетворяйте любые неудобства. –

Смежные вопросы