175 votes

Comment puis-je couper le début et la fin des guillemets doubles d'une chaîne?

Je voudrais couper une citation double (") début et fin d'une chaîne.
Comment puis-je atteindre cela en Java? Merci!

299voto

BalusC Points 498232

Vous pouvez utiliser String#replaceAll() avec un motif de ^\"|\"$ pour cette.

E. g.

string = string.replaceAll("^\"|\"$", "");

Pour en savoir plus sur les expressions régulières, al ook à http://regular-expression.info.

Cela dit, cela sent un peu comme ce que vous êtes en train d'inventer un CSV de l'analyseur. Si oui, je te suggère de regarder autour pour les bibliothèques existantes, telles que OpenCSV.

36voto

Michael Myers Points 82361

Pour supprimer le premier caractère et le dernier caractère de la chaîne, utilisez:

 myString = myString.substring(1, myString.length()-1);
 

18voto

sunraincyq Points 20

Si les guillemets doubles n'existent qu'au début et à la fin, un code simple comme celui-ci fonctionnerait parfaitement:

string = string.replace("\"", "");

12voto

legrass Points 43

En utilisant Guava, vous pouvez écrire plus élégamment CharMatcher.is('\"').trimFrom(mystring);

1voto

Rawesome Points 11

En supposant que la chaîne puisse contenir ou non les guillemets, vous pouvez les supprimer en toute sécurité via:

 foo = foo.indexOf('"') === 0 && foo.lastIndexOf('"') === foo.length -1 ?
    foo.substr(1, foo.length - 2) : 
    foo;
 

Si vous savez que la chaîne aura toujours ces guillemets, vous pouvez simplement faire:

 foo = foo.substr(1, foo.length-2);
 

pour obtenir la chaîne dénudée.

Remarque: substr () est différent de substring () .

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