Question

J'ai une chaîne qui ressemble à celle ci-dessous.

,liger, unicorn, snipe

Dans d’autres langues que je connais bien, je peux simplement faire un string.trim (",") mais comment puis-je le faire en c #?

Merci.

La fonction StartTrim a fait l’objet de nombreuses allers et retours. Comme plusieurs l'ont souligné, StartTrim n'affecte pas la variable primaire. Cependant, étant donné la construction des données par rapport à la question, je suis déchiré quant à la réponse à accepter. Certes, la question ne veut que le premier caractère coupé, pas le dernier (si anny), cependant, il n'y aura jamais de "," à la fin des données. Cela dit, je vais accepter la première réponse qui dit d’utiliser StartTrim assignée à une nouvelle variable.

Était-ce utile?

La solution

string sample = ",liger, unicorn, snipe";
sample = sample.TrimStart(','); // to remove just the first comma

Ou peut-être:

sample = sample.Trim().TrimStart(','); // to remove any whitespace and then the first comma

Autres conseils

string s = ",liger, unicorn, snipe";
s.TrimStart(',');
Les chaînes

.net peuvent faire Trim () et TrimStart (). Comme il faut params , vous pouvez écrire:

",liger, unicorn, snipe".TrimStart(',')

et si vous avez plusieurs caractères à supprimer, vous pouvez écrire:

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())

Voici un moyen facile de ne pas commencer par la virgule:

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);

string.TrimStart (',') supprimera la virgule, mais vous aurez des problèmes avec une opération de scission en raison de l'espace disponible après la virgule. Il est préférable de ne joindre que la virgule ou d’utiliser

.
  

Split ("," .ToCharArray (), StringSplitOptions.RemoveEmptyEntries);

"Liger, Licorne, Snipe" .Trim (',') - > "liger, unicor, snipe"

Essayez string.Trim (',') et voyez si cela fait ce que vous voulez.

Remarque, la chaîne originale n'est pas modifiée, Trim vous renvoie une nouvelle chaîne:

string s1 = ",abc,d";
string s2 = s1.TrimStart(",".ToCharArray());
Console.WriteLine("s1 = {0}", s1);
Console.WriteLine("s2 = {0}", s2);

imprime:

s1 = ,abc,d
s2 = abc,d
string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

Il est important d’attribuer le résultat de TrimStart à une variable. Comme indiqué sur la page TrimStart , " Cette méthode ne modifie pas la valeur de l'instance actuelle. Au lieu de cela, il renvoie une nouvelle chaîne ... " ;.

Dans .NET, les chaînes ne changent pas.

vous pouvez utiliser cette

, liger, licorne, bécasseau ".TrimStart (',');

if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}
string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});

Comme partout ailleurs: string.trim

    string s = ",liger, tiger";

    if (s.Substring(0, 1) == ",")
        s = s.Substring(1);

Voulez-vous dire couper toutes les occurrences de ", " dans cette chaîne?

Dans ce cas, vous pouvez faire:

s = s.Replace(",", "");

Il suffit d'utiliser Substring pour ignorer le premier caractère (ou l'assigner à une autre chaîne);

 string o = ",liger, unicorn, snipe";
 string s = o.Substring(1);

Voir: http://msdn.microsoft.com/en-us /library/d4tt83f9.aspx

        string animals = ",liger, unicorn, snipe";

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top