java - 如何使用通配符搜索字符串数组

标签 java string search wildcard

我正在尝试编写一个简单的程序,它将搜索字符串数组并输出第一组字母以 JTextfield 中的内容开头的所有值

String[] words= {"apples", "applets", "ash", "bass", "banana", "cat", "chat", "coke"};

我想要的是,当我的文本字段不包含任何内容时,所有单词都会出现,如果是“app”,则只会显示苹果和小程序。

最佳答案

只需迭代字符串并使用 startsWith 评估每个字符串:

private static String[] filterWords(String[] words, String prefix) {
    List<String> filtered = new LinkedList<String>();
    for (String word : words) {
        if (prefix == null || prefix.lenght() == 0 || word.startsWith(prefix)) {
            filtered.add(word);
        }
    }
    return filtered.toArray(new String[filtered.size()]);
}

关于java - 如何使用通配符搜索字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21161012/

相关文章:

vb.net - 如何在VB.NET中从Object转换为Integer?

c++ - 如何检查字符串是否只有字母

string - bash:在多个其他字符串中查找字符串

java - 我应该在 Mapbox 的 InfoWindow 方法中返回什么 View ?

java.lang.AbstractMethodError : org. apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/字符串

Java - 将通用类的实例转换为专用类的实例

JavaFX如何在不同窗口中的两个 Controller 之间进行通信

java - 使用 JSOUP 获取 HTML 字符串中的第一个有效图像

php - 可变长度正则表达式回顾

ruby-on-rails - rails : Searching multiple tables from one query