0 votes
1 view
in Java by (10.2k points)

Say I have two strings,

String s1 = "AbBaCca";

String s2 = "bac";

I want to perform a check returning that s2 is contained within s1. I can do this with:

return s1.contains(s2);

I am pretty sure that contains() is case sensitive, however, I can't determine this for sure from reading the documentation. If it is then I suppose my best method would be something like:

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

All this aside, is there another (possibly better) way to accomplish this without caring about case-sensitivity?

1 Answer

0 votes
by (46.1k points)

Yes, includes is case sensitive. You can apply java.util.regex.Pattern amidst the CASE_INSENSITIVE flag, for instance, insensitive matching:

Pattern.compile(Pattern.quote(wantedStr), Pattern.CASE_INSENSITIVE).matcher(source).find();

If s2 includes regex defined characters (of which there are many) it's necessary to extract it first. 

Related questions

Welcome to Intellipaat Community. Get your technical queries answered by top developers !