How to check if a String contains another String in a case insensitive manner in Java? -


say have 2 strings,

string s1 = "abbacca"; string s2 = "bac"; 

i want perform check returning s2 contained within s1. can with:

return s1.contains(s2); 

i pretty sure contains() case sensitive, can't determine sure reading documentation. if suppose best method like:

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

all aside, there (possibly better) way accomplish without caring case-sensitivity?

yes, contains case sensitive. can use java.util.regex.pattern case_insensitive flag case insensitive matching:

pattern.compile(pattern.quote(s2), pattern.case_insensitive).matcher(s1).find(); 

edit: if s2 contains regex special characters (of there many) it's important quote first. i've corrected answer since first 1 people see, vote matt quail's since pointed out.


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -