如果在Java中后跟两个或多个空格/空格,则使用字符串标记生成器拆分单词?

时间:2013-04-03 07:23:42

标签: java split tokenize stringtokenizer

在我的字符串中,我想基于两个或多个空格对字符串进行标记。

E.x。

String str = "I am  Chaitanya Gadam.      Split   this string."
StringTokenizer tokenizer = new StringTokenizer(str);
while (tokenizer.hasMoreTokens()) 
{
    String token = tokenizer.nextToken();
    System.out.println("==Token== : "+token);
}

我出去了:

==Token== : [I]
==Token== : [am]
==Token== : [Chaitanya]
==Token== : [Gadam.]
==Token== : [split]
==Token== : [this]
==Token== : [string.]

但是期望的输出应该是:

==Token== : [I am]
==Token== : [Chaitanya Gadam.]
==Token== : [split]
==Token== : [this string.]

2 个答案:

答案 0 :(得分:2)

您可以在regex方法中使用此String.split(regex)

String[] tokens = str.split("  +");

<强>更新: -

如果您需要删除前导和尾随空格,trim()它,然后拆分您的字符串。

str = str.trim();

答案 1 :(得分:0)

这应该有效 -

    String[] array = str.split("\\s{2,}");
    for (String word : array) {
        System.out.println(word);
    }