web-dev-qa-db-fra.com

Supprimer le dernier caractère spécifique d'une chaîne c #

J'utilise WinForms c # .J'ai une valeur de chaîne comme ci-dessous,

string Something = "1,5,12,34,";

Je dois supprimer la dernière virgule d'une chaîne. Alors, comment puis-je le supprimer?

55
user3042186

Essayez string.TrimEnd():

Something = Something.TrimEnd(',');
183
King King

La réponse du roi roi a bien sûr raison. Aussi commentaire de Tim Schmelter est également une bonne suggestion dans votre cas.

Mais si vous voulez vraiment supprimer la dernière virgule d'une chaîne , vous devriez trouver l'index de la dernière virgule et enlever 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

Voici un demonstration.

Il est trop peu probable que vous souhaitiez cela, mais je tiens à le préciser. Et rappelez-vous, la méthode String.Remove ne supprime aucun caractère de la chaîne d'origine, elle renvoie une nouvelle chaîne.

15
Soner Gönül

Essayez string.Remove();

string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);
2
user2509901

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'effectuer la même fonctionnalité 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;
}
2
bayu

Ou vous pouvez d'abord le convertir en tableau de caractères en:

string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];

Maintenant, vous avez chaque caractère indexed:

SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','

Jouer autour 

0
Faisal Ashfaq