不区分大小写的 String.contains 方法的替代方法是什么?

Jag*_*war 4 java string contains case-sensitive readline

从文件中将行作为字符串读取时, string.contains("someexamplestring") 将返回区分大小写的字符串的输出。

如果行中有“someExampleString”,则它不会返回。

如何以不区分大小写的方式识别字符串?

Am_*_*ful 5

实际上,这是如何在 Java 中以不区分大小写的方式检查字符串是否包含另一个字符串的副本


如果您有更简单的要求并且仅处理英文字母,则可以按照以下答案进行操作。

你应该这样做string.toLowerCase().contains("someExampleString".toLowerCase());

public String toLowerCase()从 Java SE 文档中了解更多信息。

此外,正如Artur Biesiadowski问题的评论部分所暗示的那样,在此处重新迭代:

关于所有建议 toLowerCase/toUpperCase 的答案 -如果您超出 ASCII 空间,请小心。有些语言从低到高(或其他方式)不一致。我想到了带有无点“i”的土耳其语 :点和无点的 I


此外,为了使其更安全,您可以使用另一种方法toLowerCase(Locale.English)并将语言环境始终覆盖为英语。但是,限制是您不再国际化。

string.toLowerCase(Locale.English).contains("someExampleString".toLowerCase(Locale.English));
Run Code Online (Sandbox Code Playgroud)