有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java检查字符串是否包含另一个完整字符串

所以,我一直在尝试在线查找是否有一种方法可以让一个字符串在java中搜索另一个完整的字符串。不幸的是,我还没有找到任何有效的方法

我的意思是:

String str = "this is a test";

如果我搜索this is,它应该返回true。但是如果我搜索this i,它应该是假的

我尝试过使用String.matches(),但这不起作用,因为正在搜索的一些字符串可能有[,]?,等等,这会把它扔掉。使用String.indexOf(search) != -1也不会起作用,因为它会为部分单词返回true


共 (1) 个答案

  1. # 1 楼答案

    如果你也将单词与非字母字符分开,而不仅仅是空格,你可以使用lookaround机制。也许这样试试

    String str = "[this] is...";
    String search = "[this] is";
    
    Pattern p = Pattern.compile("(?!<\\p{IsAlphabetic})"
            + Pattern.quote(search) + "(?!\\p{IsAlphabetic})");
    boolean matches = p.matcher(str).find();
    

    它将检查匹配的零件前后是否没有字母字符

    注:\\p{IsAlphabetic}包括所有Unicode字母字符,如ż{}{},而不仅仅是a-z{}范围