web-dev-qa-db-fra.com

Comment supprimer le dernier caractère de String en C #?

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?

12
anon
YourString = YourString.Remove(YourString.Length - 1);
72
amin
var input = "12342";
var output = input.Substring(0, input.Length - 1); 

ou

var output = input.Remove(input.Length - 1);
10
123 456 789 0

newString = yourString.Substring(0, yourString.length -1);

3
DFord

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"
0
Andrea

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.

SB

C'est,

string newStr = sb.Remove(sb.Length - 1, 1).ToString();

Pour éviter l'erreur ci-dessous:

SB2

0
Vikrant