如何逐字遍历任何给定的句子?java中有内置函数吗?我不知道如何开始。
问问题
5424 次
11 回答
7
像这样的东西:
String sentence = "Your sentence here.";
String[] words = sentence.split("\\s+"); // splits by whitespace
for (String word : words) {
System.out.println(word);
}
于 2012-11-20T10:26:05.853 回答
2
很多人建议按空格分割,但即使是这句话也包含逗号等。你应该分割的不仅仅是空格;也分割标点符号:
String words = sentence.split("([\\s.,;:\"?!,.…(){}[\\]%#/]|(- )|( -))+");
此正则表达式拆分所有合理预期的标点符号。请注意,单词中的连字符和撇号不是“标点符号”;它们是这个词的一部分。
这种方法或类似的方法也将处理非英语字符句子。
于 2012-11-20T10:51:35.080 回答
1
String[] array = input.split(" ");
这样,字符串就被转换成一个由空格分隔的数组(您可以更改 split() 的参数中的分隔符),然后您可以根据需要循环遍历该数组。
于 2012-11-20T10:25:49.170 回答
1
StringTokenizer
例如开始或使用String.split(" ")
于 2012-11-20T10:25:54.180 回答
1
尝试按空格字符拆分句子。
String sentence = "This is a sentence.";
for(String word: sentence.split("\\s+"){
System.out.println(word);
}
于 2012-11-20T10:25:56.833 回答
1
String s="sfgasdfg jhsadfkjashfd sajdfhjkasdfh hjskafhasj";
String wordArray[] =s.split("\\s+");
for(String sT :wordArray)
{
System.out.println(st);
}
于 2012-11-20T10:26:36.503 回答
1
于 2012-11-20T10:26:58.093 回答
1
假设您已经将句子存储为字符串,您可以使用该String.replaceAll("[./,]"," ")
方法删除停用词,然后使用String.split("\\s+")
获取组成短语的各个单词。
于 2012-11-20T10:27:28.980 回答
0
我会说StringTokenizer可能会帮助你。
String str = "This is String , split by StringTokenizer, created by mkyong";
StringTokenizer st = new StringTokenizer(str);
System.out.println("---- Split by space ------");
while (st.hasMoreElements()) {
System.out.println(st.nextElement());
}
System.out.println("---- Split by comma ',' ------");
StringTokenizer st2 = new StringTokenizer(str, ",");
while (st2.hasMoreElements()) {
System.out.println(st2.nextElement());
}
也String.split()
可以帮助您:
String[] result = "this is a test".split("\\s");
for (int x=0; x<result.length; x++)
System.out.println(result[x]);
输出:
this
is
a
test
于 2012-11-20T10:28:39.540 回答
0
您可以使用 StringTokenizer 类,它将字符串分成单词。
public static void main(String ae[]){
String st = "This is Java";
StringTokenizer str= new StringTokenizer(st);
while(str.hasMoreTokens()){
System.out.println(str.nextToken());
}
}
于 2012-11-20T10:29:46.567 回答
-1
System.out.println(Arrays.toString(
"Many words//separated.by-different\tcharacters"
.split("\\W+")));
//[Many, words, separated, by, different, characters]
于 2012-11-20T10:51:39.930 回答