2013-04-03 21 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. 

但您可以稍后再组合!

相关问题