-5

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

4

3 回答 3

1

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

根据 Java API Doc -

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

于 2013-05-21T08:56:46.877 回答
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.
}
于 2013-05-21T08:46:42.773 回答
0

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

于 2013-05-21T08:47:53.050 回答