逐字遍历句子

时间:2012-11-20 10:23:16

标签: java algorithm logic

如何逐字遍历任何给定的句子? java中是否有任何内置函数?我不知道如何开始。

11 个答案:

答案 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)

在这里查看字符串拆分功能http://www.tek-tips.com/viewthread.cfm?qid=1167964

答案 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]