【问题标题】:Java search inputJava 搜索输入
【发布时间】:2013-05-24 10:45:58
【问题描述】:

我需要创建一个 JTextField 搜索,用户可以在其中输入输入,并且我的对象数组列表中的匹配条目在 JTextArea 中返回。

即使他们只输入了电影标题的一部分,我如何才能返回条目。例如,如果用户只输入一个“a”,我如何返回 ArrayList 中以 a 开头的所有条目,例如被绑架、aeon 通量。另一个例子是,如果 ArrayList 包含标题“Harry Potter”,如果用户只输入“harryp”,我将如何返回此条目。无论大小写,它都需要工作。

【问题讨论】:

  • 我一直在做一些研究。我可以使用正则表达式吗?

标签: java string search arraylist substring


【解决方案1】:

如果您希望它不区分大小写,您可以使用toUpperCase()toLowerCase(),以及startsWith()

如果您真的希望“harryp”(没有空格)匹配“哈利波特”,那么您必须在比较输入之前删除条目中的所有空格。

如果你提供一些代码,我可以告诉你这是如何工作的。

【讨论】:

    【解决方案2】:

    您需要迭代 ArrayList 并检查输入和迭代项的相似性。 你可以做简单或更复杂的事情。最简单的方法是将两个字符串都设为小写并检查子字符串。

    如果您想纠正拼写错误,您可以使用Levenstein distance,它告诉您需要在一个字符串中更改多少个字符才能获得另一个字符串(并容忍例如两个拼写错误) - 请参阅 Apache 公共功能 getLevenshteinDistance() .

    如需了解更多信息,请参阅this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 2018-06-19
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多