c# - Supprimer un personnage de mon constructeur de cordes




.net vb.net (4)

J'ai le générateur de chaîne suivant comme msrtResult, ce qui est assez long:

mstrResult.Append(rtbResult.Text).Append("})})" + Environment.NewLine)

Comment puis-je supprimer le dernier "," de mstrResult maintenant? (il se trouve au milieu de mstrResult et ce n'est pas le dernier caractère de la chaîne depuis que j'ajoute des chaînes) Je devrais le faire avant d'ajouter la nouvelle ligne. Merci


Ajoutez une extension StringBuilder.

public static StringBuilder RemoveLast(this StringBuilder sb, string value)
{
    if(sb.Length < 1) return sb;
    sb.Remove(sb.ToString().LastIndexOf(value), value.Length);
    return sb;
}

puis invoquez:

yourStringBuilder.RemoveLast(",");

Essayer

mstrResult.Remove( mstrResult.Length - 1 - Environment.NewLine.Length
                 , Environment.NewLine.Length);

Utilisation:

stringbuilder blahh = new stringbuilder()
int searchKey = blahh.LastIndexOf(',');

puis appelle

blahh.Remove( searchKey, 1).Insert(searchKey, " and"); or a blank.

Vous pouvez simplement diminuer la longueur pour raccourcir la chaîne (C #):

mstrResult.Length -= 1;

MODIFIER:

Après avoir mis à jour votre question, je pense que je sais ce que vous voulez :)

mstrResult.Append(rtbResult.Text).Append("})})" + Environment.NewLine);
var index = mstrResult.ToString().LastIndexOf(',');
if (index >= 0)
    mstrResult.Remove(index, 1);




vb.net