2013-04-03 16 views
-4

在我的字符串中,我想在两个或多个空格的基础上标记字符串。如果在java中跟着两个或多个空格/空白符分开使用字符串标记器的话?

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

您可以使用此regexString.split(regex)方法。

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

更新: -

如果您需要删除开头和结尾的空格,trim(),然后分割你的字符串。

str = str.trim(); 
+0

另一个问题是,如果我的字符串在开始时有额外的空白区域,然后我得到的,最终的字符串src =输出“我切塔尼亚Gadam拆分此srting。” [,我是,柴坦尼亚Gadam。,斯普利特,这srting。] –

+0

但要求的输出是[我是,柴坦亚加德姆,斯普利特,这srting。] 所以我想使用字符串标记。 –

+0

检查我的更新。使用'trim()'。 – SudoRahul

0

这应该与工作

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