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.
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.
lire les 3 derniers caractères d'une chaîne de caractères [Question posée au départ].
Vous pouvez utiliser chaîne.sous-chaîne et donnez-lui l'indice de départ et il obtiendra la sous-chaîne à partir de l'indice donné jusqu'à la fin.
myString.Substring(myString.Length-3)
Récupère une sous-chaîne de cette instance. La sous-chaîne commence à un position de caractère spécifiée. MSDN
Editar pour le poste mis à jour
Supprimer les 3 derniers caractères d'une chaîne de caractères [Question mise à jour].
Pour supprimer les trois derniers caractères de la chaîne, vous pouvez utiliser string.Substring(Int32, Int32) et lui donner l'indice de départ 0
et l'indice final trois de moins que la longueur de la chaîne . Il obtiendra la sous-chaîne avant les trois derniers caractères.
myString = myString.Substring(0, myString.Length-3);
Méthode String.Substring (Int32, Int32)
Récupère une sous-chaîne de cette instance. La sous-chaîne commence à un position de caractère spécifiée et a une longueur spécifiée.
Vous pouvez également utiliser String.Remove(Int32) pour enlever les trois derniers caractères en passant l'index de départ comme longueur - 3 il supprimera de ce point jusqu'à la fin de la chaîne.
myString = myString.Remove(myString.Length-3)
Renvoie une nouvelle chaîne dans laquelle tous les caractères de l'instance actuelle courante, en commençant à une position spécifiée et en continuant jusqu'à la dernière position, ont été supprimés
Le nouvel opérateur de plage de C# 8.0 peut être un excellent raccourci pour y parvenir.
Exemple n°1 (pour répondre à la question) :
string myString = "abcdxxx";
var shortenedString = myString[0..^3]
System.Console.WriteLine(shortenedString);
// Results: abcd
Exemple n° 2 (pour vous montrer à quel point les opérateurs de gamme sont géniaux) :
string s = "FooBar99";
// If the last 2 characters of the string are 99 then change to 98
s = s[^2..] == "99" ? s[0..^2] + "98" : s;
System.Console.WriteLine(s);
// Results: FooBar98
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.