458 votes

Est la méthode contient de java.lang.String sensible à la casse ?

Dire que j'ai 2 chaînes

String s1 = "AbBaCca";
String s2 = "bac";

Je veux préforme un chèque de retour que le s2 est contenue dans s1. Je peux le faire avec:

return s1.contains(s2);

Je suis assez sûr que contient le() est sensible à la casse, mais je ne peut pas déterminer à coup sûr à la lecture de la documentation. Si c'est le cas je suppose que mon meilleure méthode serait quelque chose comme:

return s1.toLowerCase().contains(s2.toLowerCase());

Tout cela mis à part, personne ne sait de l'autre (peut-être mieux) pour ce faire, sans se soucier de la casse?

350voto

Dave L. Points 19623

Oui, contient respecte la casse. Vous pouvez utiliser java.util.regex.Pattern avec l’indicateur CASE_INSENSITIVE pour faire correspondre la casse :

EDIT : Si s2 contient des caractères spéciaux d’expression régulière (dont ils sont nombreux), il est important de citer tout d’abord. J’ai corrigé ma réponse car il est le premier les gens vont voir, mais vote place de Matt Quail puisqu’il a fait remarquer.

290voto

Matt Quail Points 3391

Un problème avec la réponse par Dave L. est lorsque s2 contient le balisage de regex comme \d etc..

Vous voulez appeler Pattern.quote() sur s2 :

209voto

muhamadto Points 721

Vous pouvez utiliser

apache commons lib est très utile pour ce genre de choses. Et celle-ci peut être mieux que les expressions régulières que regex est toujours coûteux en termes de performances.

38voto

Phil Points 11964

Un moyen plus simple de le faire (sans se soucier de filtrages) serait être convertir les deux `` s en minuscules :

19voto

Bilbo Baggins Points 117

Oui c’est réalisable, je l’ai juste fait pour un travail scolaire en fait.

Copiez le code suivant retourne la chaîne « TRUE » ! car elle trouve que vos personnages ont été confinés.

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