java - 如何在字符串中使用 contains 和 equalsIgnoreCase

标签 java

有没有办法在不区分大小写的情况下检查字符串是否包含某些内容?

例如:(此代码无效,只是为了让您对我的问题有一个基本的了解)

String text = "I love ponies";

if(text.contains().equalsIgnoreCase("love") {
    // do something
}

编辑: -------- 还是不行

哦,原来它不起作用。这是我正在使用的。 (这是一个游戏的诅咒过滤器)

public void onChat(PlayerChatEvent event) {
    Player player = event.getPlayer(); 
    if (event.getMessage().contains("douche".toLowerCase()) || /* More words ... */) {
        event.setCancelled(true);
        player.sendMessage(ChatColor.GOLD + "[Midnight Blue] " + ChatColor.RED + "Please Don't Swear.");
    }
}

它适用于小写但不适用于大写。

最佳答案

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

或者另一种方式是

Pattern.compile(Pattern.quote(s2), Pattern.CASE_INSENSITIVE).matcher(text).find();

关于java - 如何在字符串中使用 contains 和 equalsIgnoreCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972299/

相关文章:

Java URL 类 openStream 抛出 java.net.ConnectException : Connection refused: connect

java - spark-sql 中的 NullPointerException

java - 具有固定标题的可滚动内容,无需使用 JTable

java - 在 REST API 请求中包含 URL 地址时 RestTemplate 出现问题

java - 有没有办法动态删除数组列表的条目

java - 线程访问无效: SWT in AWT ActionListener

java - OutOfMemoryError - 来自检测 UTF-8 编码

java - 不要在 JSF 页面中重新加载页面标题

java - 通过隐藏 Manifest 并将代码转换为 Unicode 字符来保护应用程序不被反编译

java - invokeLater 和 NetBeans 中的主类