【问题标题】:How to search a string value in an array如何在数组中搜索字符串值
【发布时间】:2019-10-30 22:40:00
【问题描述】:

我在 Android Studio 中有一个带有字符串的数组,我想搜索值,值是文章和空格,我该如何找到。我想搜索“das Buch” 不应该注意大小写

那是我的数组:

public String myArray []= {"Das Buch","Die Fahne","Das Arbeitsbuch"};

我想搜索 fahne,它应该会显示 die Fahne

这是我的代码:

myText = editText.getText().toString();       

if (Arrays.asList(myArray).contains(myText)){
    Toast.makeText(this, myText + " found", Toast.LENGTH_SHORT).show();
else {
    Toast.makeText(this, myText + " not found", Toast.LENGTH_SHORT).show();
}

【问题讨论】:

  • 这是一个常见的问题,应该已经在这个网站上有解决方案。请仔细阅读它们,并使用您尝试过的代码更新您的问题。另外,这与android-studio无关,所以请添加适当的标签。
  • String myArray []= {"das Buch","Die Fahne","Das Arbeitsbuch"}; for(String s : myArray) if(s.toString().toLowerCase().contains("das")) Log.e("String found", s);
  • 请用正确的编程语言标记您的问题
  • 你好 Reza,欢迎来到 Stack Overflow!不幸的是,您的问题很可能会被版主关闭,因为它确实是您可以通过搜索找到的东西(请参阅可能的重复项以获得可能对您有所帮助的答案)。无论如何,不​​要让这阻止您发布未来的问题,我们都在这里学习并尽我们所能提供帮助。将来,如果您描述更多您实际尝试过的内容以及您获得的与您的期望不符的结果,这会有所帮助。

标签: java android arrays string search


【解决方案1】:

使用 Java 8,您可以对包含字符串的数组元素执行类似操作,再次使用通用库进行不区分大小写的比较,然后如果需要列表中包含搜索元素的所有元素,则返回列表:

String myArray[] = {"Das Buch", "Die Fahne", "Das Arbeitsbuch"};
List<String> result = Arrays.asList(myArray).stream()
                .filter(x -> org.apache.commons.lang3.StringUtils.containsIgnoreCase(x, "das")).collect(Collectors.toList());
System.out.println(result);

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 2022-01-23
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    相关资源
    最近更新 更多