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

带有近似字符串匹配的Android autocompletetextview

陆晓博
2023-03-14

我正在开发一个应用程序,其中有大约8000个印度城市的名字。当用户输入时,我使用auto complete来帮助用户完成任务。但是有些城市名字的拼写对其他州的人来说是很难猜出来的。所以我们需要一个近似的字符串匹配来实现自动完成,而不是缺省情况下的精确匹配。

例如,有这样的名字

  • Thirumayilai
  • Thirunettur
  • Thiruthuraiyur
  • Thiruvarur

而且还

  • Tirunelveli
  • Tirumangalam

共有1个答案

闾丘昊然
2023-03-14

您需要创建一个带有自定义筛选器的自定义ArrayAdapter(该筛选器基于词法距离小于某个阈值(例如3)),您需要在适配器的getFilter()方法中返回该筛选器。

 类似资料:
  • 问题 你想要匹配两个或多个字符串。 解决方案 计算把一个字符串转换成另一个字符串所需的编辑距离或操作数。 levenshtein = (str1, str2) -> l1 = str1.length l2 = str2.length prevDist = [0..l2] nextDist = [0..l2] for i in [1..l1] by 1

  • 我试图找出我的字符串是否包含从a到z的所有字母 我们可以通过其他方法解决这个问题,但我正在尝试仅使用模式和匹配器来解决它。

  • 我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我

  • 问题内容: 我有一个字符串,其中单词“ LOCAL”多次出现。我使用该函数搜索该单词,但它也返回另一个单词“ Locally”。我如何准确匹配“本地”一词? 问题答案: 对于这种事情,正则表达式非常有用: \ b基本上表示单词边界。可以是空格,标点符号等。 编辑评论: 显然,如果您不想忽略这种情况,则可以删除flags = re.IGNORECASE。

  • 我正在尝试创建一个Lucene4.10索引。我只想在索引中保存我放入文档的确切字符串,witout标记化。 我在用StandardAnalyzer。 我试图搜索术语“燃料箱容量”@en(包括引号),所以我试图省略它们,并在术语周围添加了另外几个引号,以便让lucene理解我正在搜索整个文本。 如果我打印查询,我会得到:3:“燃料箱容量en”,但我不想拆分@符号上的文本。 我认为我的第一个问题是St