web-dev-qa-db-fra.com

Comment couper les espaces entre les caractères

Comment supprimer les espaces entre les caractères en c #?

Trim() peut être utilisé pour supprimer les espaces vides au début et à la fin de la chaîne. Par exemple, " C Sharp ".Trim() results "C Sharp".

Mais comment transformer la chaîne en CSharp? Nous pouvons supprimer l'espace en utilisant une boucle for ou for each avec une variable temporaire. Mais y a-t-il une méthode intégrée dans C#(.Net framework 3.5) pour faire ceci comme Trim()?

18
Thorin Oakenshield

Vous pouvez utiliser String.Replace method

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

ou si vous souhaitez supprimer tous les caractères d'espacement (espace, tabulations, sauts de ligne ...) 

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

Utilisez String.Replace pour remplacer tous les espaces vides par rien. 

par exemple

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

Si vous voulez garder un espace entre chaque mot. cela devrait le faire .. 

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

    }

il va supprimer la chaîne entre la chaîne Donc, si l'entrée est 

var s ="c           sharp";
result will be "c sharp";
1
Parminder
//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);
}
1
Dave

J'ai trouvé cette méthode intéressante pour construire une classe utilisant une propriété calculée, par exemple, un "productName" et en supprimant les espaces pour créer une URL qui correspondra à une image utilisant le nom du produit sans espaces. Par exemple:

    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"; }
            }
        }
    }

Donc, dans cette réponse, j'ai utilisé une méthode très similaire à w69rdy, mais je l'ai utilisée dans un exemple. De plus, j'ai utilisé string.Empty au lieu de "". Et bien qu’après .Net 2.0, il n’y ait plus aucune différence, il est beaucoup plus facile à lire et à comprendre pour les autres utilisateurs qui pourraient avoir besoin de lire mon code. Je préfère aussi cela parce que je me perds parfois dans toutes les citations que je pourrais avoir dans un bloc de code.

0
Eric Bishard
var str="  c sharp  "; str = str.Trim();
        str = Regex.Replace(str, @"\s+", " ");  ///"c sharp"
0
Mekala V
string myString = "C Sharp".Replace(" ", "");
0
Andy Rose