Pourquoi avez-vous un tel string? Je suppose qu'à cause d'une boucle qui concatène des virgules en ints. Vous pouvez utiliser à la string.Join(",", ints)place. Cela évite en premier lieu les virgules de fin.
C'est la meilleure solution car elle fonctionne pour toutes les chaînes, y compris les situations où vous ne savez pas à l'avance SI la chaîne se termine en fait par une virgule, ou non.
East of Nowhere
6
C'est pourquoi je cherche toujours des solutions même pour des choses que je pourrais facilement écrire moi-même. Quelqu'un d'autre l'a généralement résolu. :)
dpberry178
1
Les guillemets simples n'étaient donc pas une erreur. Aujourd'hui, j'ai appris que char et string sont définis respectivement avec des guillemets simples et doubles.
Il est trop peu probable que vous vouliez de cette façon, mais je veux le souligner. Et rappelez-vous, la String.Removemé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.
staticstringTrimTrailingChars(stringvalue)
{
int removeLength = 0;
for (int i = value.Length - 1; i >= 0; i--)
{
charlet = value[i];
if (let == '?' || let == '!' || let == '.')
{
removeLength++;
}
else
{
break;
}
}
if (removeLength > 0)
{
returnvalue.Substring(0, value.Length - removeLength);
}
returnvalue;
}
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.Réponses:
Essayez
string.TrimEnd()
:Something = Something.TrimEnd(',');
la source
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 source
Essayer
string.Remove();
string str = "1,5,12,34,"; string removecomma = str.Remove(str.Length-1); MessageBox.Show(removecomma);
la source
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; }
la source
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
la source
Essayez ci-dessous
Quelque chose..TrimEnd (",". ToCharArray ());
la source
Dim psValue As String = "1,5,12,34,123,12" psValue = psValue.Substring(0, psValue.LastIndexOf(","))
production:
1,5,12,34,123
la source