当前位置: 首页 > 知识库问答 >
问题:

java-检查一个子串是否存在于java中的字符串数组列表中

简嘉赐
2023-03-14

假设我有一个arraylist(arr1),其值如下:

"string1 is present"
"string2 is present"
"string3 is present"
"string4 is present"

我想看看这个arraylist中是否存在子字符串“string2”。通过循环遍历arraylist并使用“get”by index,我在每个索引处提取元素,然后对“Strings”使用“contains”方法,搜索“string2”并找到匹配项

for (int i=0;i<arr1.size(); i++)
{
  String s1=arr1.get(i);
  if (s1.contains("string2"))
  {
    System.out.println("Match found");
  }
}

有没有一种方法可以使用数组列表本身的“包含”方法,并做同样的事情,而不是我在数组列表中循环,并使用“字符串”的“包含”方法来实现这一点。有人能让我知道吗?

谢啦

共有3个答案

吴松
2023-03-14

下面是另一种方法(从arrayList中生成一个字符串):

String listString = String.join(", ", arr1);

      if (listString.contains("string2"))
      {
        System.out.println("Match found");
      }
章光华
2023-03-14

使用Stream API,您可以检查列表中是否有包含“string2”的元素,并按如下方式打印到控制台:

arr1.stream()
    .filter(e -> e.contains("string2"))
    .findFirst()
    .ifPresent(e -> System.out.println("Match found"));

然而,您无法避免单独检查每个元素(直到我们找到第一个),因为您有兴趣查看特定字符串是否包含特定子字符串。

公羊光明
2023-03-14

您不能使用ArrayList的包含方法,因为您无法单独检查每个字符串。

在Java 8中,可以使用流隐藏循环:

boolean found = arr1.stream().anyMatch(s -> s.contains("string2"));
 类似资料:
  • 问题内容: 我之前已经找到了这个问题的一些答案,但是对于当前的Python版本似乎已经过时了(或者至少它们对我不起作用)。 我想检查子字符串是否包含在字符串列表中。我只需要布尔结果。 我找到了这个解决方案: 我希望从这段代码中得到一个价值。如果单词是“ der”,则输出应为。 但是,结果是一个生成器函数,我找不到找到该值的方法。 任何想法? 问题答案: 您可以导入从的情况下,它是由一些其他的替代:

  • 考虑以下键(under_score)和字段(lowerCamel): 我正在Java中寻找一种有效的方法来检查是否在中,我希望以下返回: 我的代码: 我可以用下划线替换所有小写,但我正在寻找更有效的方法。

  • 我已经知道如何检查一个字符串是否存在于另一个字符串中。但是我需要知道如何检查一个字符串是否存在于另一个字符串的开头。例如:String str1="first not";String str2="not last";我需要一个条件来检查字符串的开头是否存在"not",这应该只满足str2的情况,而不是两者。

  • 我想检查以开头的字符串是否正确。没有循环我怎么做?提前谢谢。

  • 问题内容: 如何判断子字符串“模板”(例如)是否存在于String对象中? 如果不是区分大小写的检查,那就太好了。 问题答案: 使用正则表达式并将其标记为不区分大小写: 在 (我)* 不区分大小写和转弯 **。 在搜索项的每一端匹配任何字符周围(因为 String.matches 适用于整个字符串)。

  • 问题内容: 如何检查数组中的任何字符串是否在另一个字符串中? 喜欢: 该代码行不通,只是为了展示我想要实现的目标。 问题答案: 你可以使用: 同样,要检查是否找到了列表中的所有字符串,请使用all代替any。