J'utilise WinForms c #. J'ai une valeur de chaîne comme ci-dessous,
string Something = "1,5,12,34,";
J'ai besoin de supprimer la dernière virgule dans une chaîne. Alors, comment puis-je le supprimer?
J'utilise WinForms c #. J'ai une valeur de chaîne comme ci-dessous,
string Something = "1,5,12,34,";
J'ai besoin de supprimer la dernière virgule dans une chaîne. Alors, comment puis-je le supprimer?
Réponses:
Essayez string.TrimEnd()
:
Something = Something.TrimEnd(',');
La réponse de King King est bien sûr juste. Aussi le commentaire de Tim Schmelter est aussi bonne suggestion dans votre cas.
Mais si vous voulez vraiment supprimer la dernière virgule dans une chaîne , vous devriez trouver l'index de la dernière virgule et supprimer comme;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
La sortie sera;
1,5,12,3412345
Ici a demonstration
.
Il est trop peu probable que vous vouliez de cette façon, mais je veux le souligner. Et rappelez-vous, la String.Remove
méthode ne supprime aucun caractère dans la chaîne d'origine, elle renvoie une nouvelle chaîne.
La méthode TrimEnd prend un tableau de caractères d'entrée et non une chaîne. Le code ci-dessous de Dot Net Perls , montre un exemple plus efficace de la façon d'exécuter les mêmes fonctionnalités que TrimEnd.
static string TrimTrailingChars(string value)
{
int removeLength = 0;
for (int i = value.Length - 1; i >= 0; i--)
{
char let = value[i];
if (let == '?' || let == '!' || let == '.')
{
removeLength++;
}
else
{
break;
}
}
if (removeLength > 0)
{
return value.Substring(0, value.Length - removeLength);
}
return value;
}
Ou vous pouvez d'abord le convertir en Char Array en:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
Maintenant, vous avez chaque personnage indexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
Jouez autour
string
? Je suppose qu'à cause d'une boucle qui concatène des virgules enint
s. Vous pouvez utiliser à lastring.Join(",", ints)
place. Cela évite en premier lieu les virgules de fin.