如何逐字遍历任何给定的句子? java中是否有任何内置函数?我不知道如何开始。
答案 0 :(得分:4)
这样的事情:
String sentence = "Your sentence here.";
String[] words = sentence.split("\\s+"); // splits by whitespace
for (String word : words) {
System.out.println(word);
}
答案 1 :(得分:1)
String[] array = input.split(" ");
这样就可以将字符串转换为由空格分隔的数组(您可以在split()的参数中更改分隔符)然后您可以根据需要循环遍历数组。
答案 2 :(得分:1)
例如,以StringTokenizer
开头,或使用String.split(" ")
答案 3 :(得分:1)
尝试用空白字符分割句子。
String sentence = "This is a sentence.";
for(String word: sentence.split("\\s+"){
System.out.println(word);
}
答案 4 :(得分:1)
String s="sfgasdfg jhsadfkjashfd sajdfhjkasdfh hjskafhasj";
String wordArray[] =s.split("\\s+");
for(String sT :wordArray)
{
System.out.println(st);
}
答案 5 :(得分:1)
答案 6 :(得分:1)
假设您已将句子存储为字符串,则可以使用String.replaceAll("[./,]"," ")
方法删除停用词,然后使用String.split("\\s+")
获取构成短语的单个词。
答案 7 :(得分:1)
很多人都建议拆分空格,但即使这句话也包含逗号等等。你应该分开不仅仅是空格;也分为标点字符:
String words = sentence.split("([\\s.,;:\"?!,.…(){}[\\]%#/]|(- )|( -))+");
这个正则表达式拆分了所有合理预期的标点字符。请注意,单词连字符和撇号是不“标点符号”;他们是这个词的一部分。
这种方法或类似方法也可以处理非英语字符句子。
答案 8 :(得分: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
答案 9 :(得分: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());
}
}
答案 10 :(得分:-1)
System.out.println(Arrays.toString(
"Many words//separated.by-different\tcharacters"
.split("\\W+")));
//[Many, words, separated, by, different, characters]