Domanda

Ho una stringa che è come sotto.

,liger, unicorn, snipe

in altre lingue con cui ho familiarità posso semplicemente fare un string.trim(",") ma come posso farlo in C#?

Grazie.


Ci sono state molte discussioni avanti e indietro sulla funzione StartTrim.Come molti hanno sottolineato, StartTrim non influisce sulla variabile primaria.Tuttavia, data la costruzione dei dati rispetto alla domanda, sono indeciso su quale risposta accettare.È vero che la domanda vuole solo che il primo carattere venga tagliato e non l'ultimo (se presente), tuttavia non ci sarebbe mai un "," alla fine dei dati.Quindi, detto questo, accetterò la prima risposta che diceva di utilizzare StartTrim assegnato a una nuova variabile.

È stato utile?

Soluzione

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

O forse:

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

Altri suggerimenti

string s = ",liger, unicorn, snipe";
s.TrimStart(',');

Le stringhe .net possono eseguire Trim() e TrimStart().Perché ci vuole params, tu puoi scrivere:

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

e se hai più di un carattere da tagliare, puoi scrivere:

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

ecco un modo semplice per non produrre la virgola iniziale con cui iniziare:

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

string.TrimStart(',') rimuoverà la virgola, tuttavia avrai problemi con un'operazione di divisione a causa dello spazio dopo la virgola.È meglio unirsi solo sulla singola virgola o utilizzare

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

",ligre, unicorno, beccaccino".Trim(',') -> "ligre, unicor, beccaccino"

Prova string.Trim(',') e vedi se fa quello che vuoi.

Notare la originale la stringa viene lasciata intatta, Trim ti restituirà una nuova stringa:

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

stampe:

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

È importante assegnare il risultato di TrimStart a una variabile.Come dice il Pagina TrimStart, "Questo metodo non modifica il valore dell'istanza corrente.Invece, restituisce una nuova stringa...".

In .NET le stringhe non cambiano.

puoi usare questo

,ligre, unicorno, beccaccino".TrimStart(',');

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

Come ovunque: stringa.trim

    string s = ",liger, tiger";

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

Intendevi tagliare tutte le occorrenze di "," in quella stringa?

In tal caso, puoi fare:

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

Basta usare Sottostringa per ignorare il primo carattere (o assegnarlo a un'altra stringa);

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

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

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

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top