java中的搜索标记
我正在尝试编写一个代码来搜索项目中的内容,我需要将字符串拆分为单词,并将单词拆分为搜索标记。例如,如果“你好”是我的字符串,我想把它分成how,are,you,还有h,ho,how,a,ar,are,y,yo,you。java中的搜索标记,java,Java,我正在尝试编写一个代码来搜索项目中的内容,我需要将字符串拆分为单词,并将单词拆分为搜索标记。例如,如果“你好”是我的字符串,我想把它分成how,are,you,还有h,ho,how,a,ar,are,y,yo,you。 有人能告诉我如何在java中实现这一点吗?您只需要使用StringTokenizer。(或迭代器) Multiset myList=new HashMultiset.create()//Multiset是Google Guava库的一部分 StringTokenizer st=新
有人能告诉我如何在java中实现这一点吗?您只需要使用StringTokenizer。(或迭代器)
Multiset myList=new HashMultiset.create()//Multiset是Google Guava库的一部分
StringTokenizer st=新的StringTokenizer(“你好”);
而(st.hasMoreTokens()){
myList.add(st.nextToken());
}
//现在检查multiset是否已经包含它:
if(myList.contains(“how”){
//你想干什么就干什么。
}
使用StringTokenizer将标记拆分为多个标记,然后将它们读入变量/数组/列表,并根据需要使用它们。String.split()将是理想的选择-它需要正则表达式-它可以用于定义从最简单的模式到最复杂的模式的所有内容
根据Java API文件-
StringTokenizer是一个出于兼容性原因保留的旧类,尽管新代码中不鼓励使用它。建议寻求此功能的任何人改用String拆分方法或java.util.regex包。请向我们展示您的代码。什么有效,什么无效?您可以使用.contains()字符串中的方法:这只是For循环和字符串标记器的工作。您看过
String.split()
?List searchableContent=new ArrayList();String[]questionTokens=question.getValue().split(“”);For(int i=0;i 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.
}