2013-04-03 23 views

回答

2
string.split("\\s\\s+"); 

(或)

具有兩個或多個空格作爲定界符
string.split("\\s{2,}"); 

String string = "I am Chaitanya Gadam.  Split this srting."; 

    String[] str = string.split("\\s{2,}"); 

    for(String s: str) 
    { 
     System.out.println(s+":"+s.length()); 
    } 
    System.out.println(Arrays.toString(string.split("\\s\\s+"))); 

Output: 
I am:4 
Chaitanya Gadam.:16 
Split:5 
this srting.:12 
[I am, Chaitanya Gadam., Split, this srting.] 

拆分字符串。在正則表達式中使用Escape字符增加了可讀性,而不是使用空格字符。

+1

爲什麼downvote? –

+0

陽光燦爛,我們可以把它放進去嗎,[我是] [] [Chaitanya Gadam。] [] [split] [] [this string。] –

2

使用try:String[] splitted = string.split(" +");

public static void main(String[] args) throws ParseException{ 
    String string = "I am Chaitanya Gadam.  Split this srting."; 
    String[] str = string.split(" +"); 
    System.out.println(Arrays.toString(str)); 
    for(String s : str)//Try printing this way . 
     System.out.println(s); 
} 

輸出:

[I am, Chaitanya Gadam., Split, this srting.] 
+0

你好Achintya,我試過了,但它沒有給我想要的輸出。 –

+0

@ user2156738它爲我工作。 –

+0

http://ideone.com/AkepIk - 工作示例 – Zelldon

1

這裏,這應該工作:

final String src = "I am Chaitanya Gadam.  Split this srting."; 
final String[] splits = src.split("[ ]{2,}"); 
+0

Got- [我是,Chaitanya Gadam。,Split,這個srting。]爲什麼我們要在每個令牌之前獲得空間? –

+1

因爲您不知道如何打印輸出,因此進行downvoting顯然是錯誤的。這是[Ideone](http://ideone.com/FYqvGF)。 – Perception

+0

在for循環中打印數組,您將不會擁有每個令牌的任何空間。不要只是downvote –

0

使用Stringutils.split()以白色的步伐拆分字符串。例如StringUtils.split("Hello World")返回「Hello」和「World」;

爲了解決上述情況下,我們用拆分法這樣

String split[]= StringUtils.split("Hello I'm your String"); 

,當我們打印分割陣列的輸出將是:

Hello 

I'm 

your 

String 

唯一的問題是,如果你試圖分裂string = "I am Chaitanya Gadam. Split this srting."

它將拆分Chiatanya Gadam。進入

[0]Chiatanya 
[1]Gadam. 

但您可以稍後再組合!

相關問題