J'ai une chaîne numérique, qui peut être "124322"
ou "1231.232"
ou "132123.00"
. Je veux supprimer le dernier caractère de ma chaîne (quel qu'il soit). Je veux donc que si ma chaîne est "99234"
est devenu "9923"
.
La longueur de la chaîne est variable. Ce n'est pas constant donc je ne peux pas utiliser de ficelle.Retirer ou couper ou certains comme eux (je pense).
Comment puis-je y parvenir?
YourString = YourString.Remove(YourString.Length - 1);
var input = "12342";
var output = input.Substring(0, input.Length - 1);
ou
var output = input.Remove(input.Length - 1);
newString = yourString.Substring(0, yourString.length -1);
Si c'est quelque chose que vous devez faire beaucoup dans votre application, ou si vous devez chaîner différents appels, vous pouvez créer une méthode d'extension:
public static String TrimEnd(this String str, int count)
{
return str.Substring(0, str.Length - count);
}
et appelez-le:
string oldString = "...Hello!";
string newString = oldString.Trim(1); //returns "...Hello"
ou enchaîné:
string newString = oldString.Substring(3).Trim(1); //returns "Hello"
Si vous utilisez le type de données string
, le code ci-dessous fonctionne:
string str = str.Remove(str.Length - 1);
Mais lorsque vous avez StringBuilder
, vous devez également spécifier le deuxième paramètre length
.
C'est,
string newStr = sb.Remove(sb.Length - 1, 1).ToString();
Pour éviter l'erreur ci-dessous: