Java - 文本字段中的字符串输入 - 搜索数组列表 - 包括部分匹配

标签 java regex arraylist jtextfield

我已经从事此工作有一段时间了,所以我认为是时候寻求一些急需的帮助了。我在 Action 监听器中有以下 if 语句(“但是” - 是单击搜索按钮以发生以下情况)。我的类中有一个 arrayList(用于保存数据库中的数据),调用特定记录有效完美。我正在尝试创建一个搜索文本字段(下面名为“tf”)。我只能通过键入与正在搜索的内容完全匹配来进行搜索,但我希望能够对 tf.注释掉的所有内容都是我一直在测试的不同内容,因此可以忽略。

声明: if( srch.getText().equals("您已选择按电影搜索:") ...这用于确保该人仅在面板包含此标题时进行搜索,因为同一面板上也有流派搜索。仅标题发生变化。

        if(source.equals(but)){
         //String b = a.get(0).get(1);
         String result = tf.getText();
         Pattern pat = Pattern.compile("[a-z]+");
         Matcher m = pat.matcher(result);
         //boolean bool = m.matches();
         int i = 0;
         //al.contains(result) && pat.matcher(a.get(i).get()).matches())
         // && z.contains(result)
       if( srch.getText().equals("You have chosen to search by movie: " )){ 
           for (ArrayList<String> al : a){  
                if (pat.m(a.get(i).get(0)).matches()){  
                  System.out.println(a.get(i).get(0)); //movie name
                  System.out.println(a.get(i).get(1)); //movie desc
         }
          i++;
          }
          //ta.setText(b);
        }
        else{
            ta.setText("Please try searching by movie");
        }
      }

总而言之,一切正常。我只需要一个正则表达式代码来查找部分匹配以及一种将其添加到我的循环中的方法。我添加了尽可能少的代码,以免浪费任何人的时间,因此如果需要任何其他代码,请告诉我。提前非常感谢。最终,任何完整或部分匹配都将显示电影名称和说明。

最佳答案

我认为不需要正则表达式。

String.contains(String chars)如果源字符串中出现任何参数字符串,则返回 true。

例如:

String str = "ABCDEFG";

if(str.contains("CD")){
     System.out.println("Present");
}

关于Java - 文本字段中的字符串输入 - 搜索数组列表 - 包括部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21673270/

相关文章:

Java:ImageJ 替代品

javascript - 如何将正则表达式与字符串变量连接?

java 正则表达式模式匹配器来识别不寻常的字符和亚洲表意文字

Java ArrayList 具有空元素的大小 []

JAVA:修改、删除、列出一个arraylist通讯录

java - Tomcat 7.0+ 如何使用自定义 ApplicationContext 启动

java - hadoop version命令给出与Java相关的错误(无此文件或目录)

regex - 使用正则表达式替换字符串中字符的最后一个实例

android - 使用 arraylist<string> 为 android 中的自动完成 TextView 设置适配器

java - DropDownChoice 并按返回按钮