514 votes

Supprimer le dernier caractère d’un StringBuilder ?

Lorsque vous devez effectuer une boucle sur une collection et faire une chaîne de chacune des données séparées par un délimiteur, on finit toujours avec un superflus de délimiteur à la fin, par exemple

Donne quelque chose comme : serverId_1, serverId_2, serverId_3,

Je voudrais supprimer le dernier caractère dans le StringBuilder (sans les convertir parce que j’en ai encore besoin après cette boucle).

729voto

Jon Skeet Points 692016

D’autres ont fait remarquer la `` méthode, mais là est une autre solution de rechange :

Vous pouvez également utiliser le `` classe de goyave :)

530voto

Stephen C Points 255558

Une autre solution simple est :


Cela suppose que `` ... c'est-à-dire, il y a un « caractère dernier » à supprimer. Si vous ne pouvez pas faire cette supposition, et/ou vous ne peuvent pas traiter l’exception qui s’ensuivrait si la supposition est incorrecte, puis vérifier la longueur de StringBuilder tout d’abord ; par exemple

ou

218voto

bragboy Points 13615
sb.deleteCharAt(sb.length()-1) 

38voto

Dans ce cas,

est préférable car il vient affecter la dernière valeur de alors que le fait de supprimer le dernier caractère

10voto

Rafiq Points 1060

Une autre alternative

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X