Как обрезать пробелы между символами

Как удалить пробелы между символами в С#?

Trim() можно использовать для удаления пустых пространств в начале строки, а также в конце. Например " C Sharp ".Trim() результат "C Sharp".

Но как сделать строку в CSharp? Мы можем удалить пространство, используя цикл for или for each, а также временную переменную. Но есть ли встроенный метод в C#(.Net framework 3.5) для этого, например, Trim()?

Ответы

Ответ 1

Вы можете использовать String.Replace method

string str = "C Sharp";
str = str.Replace(" ", "");

или если вы хотите удалить все пробельные символы (пробел, вкладки, разрывы строк...)

string str = "C Sharp";
str = Regex.Replace(str, @"\s", "");

Ответ 2

Используйте String.Replace, чтобы заменить все пустое пространство ничем.

например,

string newString = myString.Replace(" ", "");

Ответ 3

Если вы хотите сохранить одно пространство между каждым словом. это должно сделать это.

 public static string TrimSpacesBetweenString(string s)
    {
        var mystring  =s.RemoveTandNs().Split(new string[] {" "}, StringSplitOptions.None);
        string result = string.Empty;
        foreach (var mstr in mystring)
        {
            var ss = mstr.Trim();
            if (!string.IsNullOrEmpty(ss))
            {
                result = result + ss+" ";
            }
        }
        return result.Trim();

    }

он удалит строку между строкой поэтому, если вход

var s ="c           sharp";
result will be "c sharp";

Ответ 4

//Remove spaces from a string just using substring method and a for loop 
static void Main(string[] args)
{
    string businessName;
    string newBusinessName = "";
    int i;

    Write("Enter a business name >>> ");
    businessName = ReadLine();

    for(i = 0; i < businessName.Length; i++)
    {
        if (businessName.Substring(i, 1) != " ")
        {
            newBusinessName += businessName.Substring(i, 1);
        }
    } 

    WriteLine("A cool web site name could be www.{0}.com", newBusinessName);
}

Ответ 5

string myString = "C Sharp".Replace(" ", "");

Ответ 6

Я нашел этот метод отличным для того, чтобы создавать такие вещи, как создание класса, который использует вычисленное свойство, чтобы позволить сказать "productName" и лишить пробел, чтобы создать URL-адрес, который будет равен изображению, которое использует имя продукта без пробелов. Например:

    namespace XXX.Models
    {
        public class Product
        {
            public int ProductID { get; set; }
            public string ProductName { get; set; }
            public string ProductDescription { get; set; }

            public string ProductImage
            {
                get { return ProductName.Replace(" ", string.Empty) + ".jpg"; }
            }
        }
    }

Итак, в этом ответе я использовал очень похожий метод, как w69rdy, но использовал его в примере, плюс использовал string.Empty вместо "". И хотя после .Net 2.0 нет никакой разницы, мне гораздо легче читать и понимать других, которым может понадобиться прочитать мой код. Я также предпочитаю это, потому что иногда теряюсь во всех кавычках, которые у меня могут быть в блоке кода.