Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的搜索标记_Java - Fatal编程技术网

java中的搜索标记

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=新

我正在尝试编写一个代码来搜索项目中的内容,我需要将字符串拆分为单词,并将单词拆分为搜索标记。例如,如果“你好”是我的字符串,我想把它分成how,are,you,还有h,ho,how,a,ar,are,y,yo,you。
有人能告诉我如何在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. }