163 votes

Supprime les trois derniers caractères d'une chaîne de caractères

Je veux supprimer les trois derniers caractères d'une chaîne de caractères :

string myString = "abcdxxx"; 

Notez que la chaîne de caractères est une donnée dynamique.

7voto

string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd

6voto

lc. Points 50297

Vous pouvez utiliser String.Remove pour supprimer à partir d'une position spécifiée jusqu'à la fin de la chaîne.

myString = myString.Remove(myString.Length - 3);

5voto

DiskCrasher Points 424

Ce n'est probablement pas exactement ce que vous recherchez puisque vous dites qu'il s'agit de "données dynamiques", mais compte tenu de votre exemple de chaîne, cela fonctionne également :

? "abcdxxx".TrimEnd('x');
"abc"

3voto

scofield Points 65

str= str.Remove(str.Length - 3);

3voto

Granger Points 436

Si vous travaillez en C# 8 ou plus, vous pouvez utiliser " gammes " :

string myString = "abcdxxx";
string trimmed = myString[..^3]; // "abcd"

Plus d'exemples :

    string test = "0123456789", s;
    char c;
    c = test[^3]; // '7'
    s = test[0..^3]; // "0123456"
    s = test[..^3]; // "0123456"
    s = test[2..^3]; // "23456"
    s = test[2..7]; // "23456"
    //c = test[^12]; // IndexOutOfRangeException
    //s = test[8..^3]; // ArgumentOutOfRangeException
    s = test[7..^3]; // string.Empty

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X