如何在Java中以不區(qū)分大小寫的方式檢查字符串是否包含另一個字符串?假設(shè)我有兩根線,String s1 = "AbBaCca";String s2 = "bac";我想執(zhí)行一次檢查s2包含在s1..我可以這樣做:return s1.contains(s2);我很確定contains()區(qū)分大小寫,但是我不能通過閱讀文檔來確定這一點。如果是這樣的話,我想我最好的方法是:return s1.toLowerCase().contains(s2.toLowerCase());撇開這一切不說,是否還有其他(可能更好)的方法來做到這一點,而不關(guān)心案件的敏感性呢?
3 回答

墨色風雨
TA貢獻1853條經(jīng)驗 獲得超6個贊
是的,包含是區(qū)分大小寫的。您可以使用java.util.regex.Pattern作為區(qū)分大小寫的匹配標記:
Pattern.compile(Pattern.quote(wantedStr),?Pattern.CASE_INSENSITIVE).matcher(source).find();
編輯:如果S2包含regex特殊字符(其中有很多),那么首先引用它是很重要的。

千萬里不及你
TA貢獻1784條經(jīng)驗 獲得超9個贊
當s2包含regex標記時,例如\d
等
您需要調(diào)用S2上的Pattern.瓜爾():
Pattern.compile(Pattern.quote(s2),?Pattern.CASE_INSENSITIVE).matcher(s1).find();
添加回答
舉報
0/150
提交
取消