在java中搜索令牌

时间:2013-05-21 08:44:47

标签: java

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

3 个答案:

答案 0 :(得分:1)

您需要使用的只是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.
}

答案 1 :(得分:1)

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

根据Java API Doc -

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

答案 2 :(得分:0)

使用StringTokenizer拆分为令牌,然后将它们读入变量/数组/列表并根据需要使用它们。