【问题标题】:How to check if a string contains certains letters/characters [duplicate]如何检查字符串是否包含某些字母/字符[重复]
【发布时间】:2020-06-23 10:43:34
【问题描述】:

如果我想检查一个字符串是否包含“CVR”、“CPR”和“NR”。我该怎么做?我尝试了以下方法,但遇到了一些问题

String testString = "cpr1210";

if (testString.contains("cpr||cvr||nr")) {
    System.out.println("yes");
}

【问题讨论】:

  • 1.你应该提到你的问题是什么。 2. 这不是有效的 Java 语法。 3. 改用String.contains()
  • @Amongalen 我尝试使用 contains() 但它没有检测到字符序列。
  • "cor1210" - 不包含任何提到的测试序列。不知道你的预期。
  • @Amongalen 我的意思是即使我用字母写一个字符串,它仍然不会检测到

标签: java string syntax char


【解决方案1】:

我可能会在这里使用String#matches(),并使用正则表达式替换:

String input = "cpr1210";
if (input.matches("(?i).*(?:cpr|cvr|nr).*")) {
    System.out.println("MATCH");
}

如果您真的想使用String#contains(),那么您需要对每个序列分别调用该方法的三个单独的调用。

【讨论】:

    【解决方案2】:

    正如我在对您问题的评论中提到的,您可以使用String#contains()

        String testString = "cor1210";
        // will not print yes, because none of the sequences fit
        if (testString.contains("cpr") || testString.contains("cvr") || testString.contains("nr")) {
            System.out.println("yes");
        }
    

    确保 if 子句中的逻辑语法正确。

    【讨论】:

      【解决方案3】:

      您可以使用String.contains() 方法检查一个字符串是否包含另一个字符串(子字符串)。它返回一个布尔值。请记住,此方法区分大小写。如果要进行不区分大小写的搜索,请使用相同的技术,将输入字符串和搜索字符串转换为相同大小写,然后调用该方法。

          String testString = "cor1210";
      
          //checks whether testString contains CVR, CPR or NR
          if (testString.contains("CVR")||testString.contains("CPR")||testString.contains("NR")){
              System.out.println("yes");
          }
      

      【讨论】:

        猜你喜欢
        • 2011-03-31
        • 2016-08-09
        • 1970-01-01
        • 2014-05-07
        • 2019-12-29
        • 2015-03-15
        • 2020-12-12
        • 2015-01-04
        相关资源
        最近更新 更多