【问题标题】:Search Tokens in java [closed]在java中搜索令牌[关闭]
【发布时间】:2013-05-21 08:44:46
【问题描述】:

我正在尝试编写用于在我的项目中搜索事物的代码,我需要将字符串拆分为单词并将单词拆分为搜索标记。例如,如果“你好吗”是我的字符串,我想将其拆分为 how, are , you 以及 h, ho, how, a, ar, are, y, yo , you。 谁能解释我如何在java中做到这一点?

【问题讨论】:

标签: java


【解决方案1】:

String.split() 将是理想的选择 - 它采用正则表达式 - 可用于定义从最简单的模式到最复杂的模式的所有内容。

根据 Java API 文档 -

StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包。

【讨论】:

    【解决方案2】:

    您只需要使用 StringTokenizer。 (或 BreakIterator)

      Multiset<String> myList = new HashMultiset.create() //Multiset is part of Google Guava Library
    
        StringTokenizer st = new StringTokenizer("How are you");
             while (st.hasMoreTokens()) {
            myList.add(st.nextToken());
    
             }
    
    
    //Now check if multiset already contains it : 
    
    if(myList.contains("how"){
    //do whatever you want.
    }
    

    【讨论】:

    • List searchableContent = new ArrayList(); String[] questionTokens = question.getValue().split(" "); for (int i = 0; i
    【解决方案3】:

    使用StringTokenizer拆分成token,然后读入一个变量/array/list,随意使用。

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2018-06-13
      • 2012-03-31
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 2012-06-13
      • 1970-01-01
      相关资源
      最近更新 更多