我正在尝试编写用于在项目中搜索内容的代码,我需要将字符串拆分为单词和单词到搜索标记中。例如,如果“你好吗”是我的字符串,我想将它分成如何,是,你,以及h,ho,how,a,ar,是,y,哟,你。 谁能解释一下如何在java中做到这一点?
答案 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拆分为令牌,然后将它们读入变量/数组/列表并根据需要使用它们。