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

标签 java string contains readline case-sensitive

<分区>

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

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

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

最佳答案

实际上,这是 How to check if a String contains another String in a case insensitive manner in Java? 的副本


如果你的要求比较简单,而且只处理英文字母,你可以按照下面的答案。

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

阅读更多关于 public String toLowerCase() 的信息来自 Java SE 文档。

此外,正如 Artur Biesiadowski 所暗示的那样在问题的评论部分,在这里重申:

Regarding all the answers suggesting toLowerCase/toUpperCase - be careful if you go outside of ASCII space. There are some languages where going lower to upper and back (or other way around) is not consistent. Turkish with its dotless 'i' comes to mind : Dotted and dotless I


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

string.toLowerCase(Locale.English).contains("someExampleString".toLowerCase(Locale.English));

关于java - 不区分大小写的 String.contains 方法的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39660082/

相关文章:

java - 如何比较 Map 和 List

c# - 有没有更好的方法来编写 new List<string> {"a", "b"}.Contains(str)?

java - 在抽象类中调用构造函数

php - 如何在 php 变量中转义撇号以进行选择查询

C++函数将字符串拆分为单词

iPhone 解析 GET 参数的 url

c# - DataSet 是否具有 Contain 或 In 功能?

java - 将您的密码隐藏在测试用例的 Java 类文件中

java - 如何在java webstart项目中包含jar依赖项

java - JSP——表达式语言