如果在java中后跟两个或多个空格/空格,如何拆分字符串?

时间:2013-04-03 06:42:32

标签: java regex string split

在我的字符串中,我想基于两个或多个空格拆分字符串或标记化字符串。

E.x。

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

我希望输出为 -

str[0]= "I am"  
str[1]= "Chaitanya Gadam."  
str[2]= "Split"  
str[3]= "this string."  

4 个答案:

答案 0 :(得分:2)

尝试使用: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.]

答案 1 :(得分: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字符可提高可读性,而不是使用空格字符。

答案 2 :(得分:1)

在这里,这应该有效:

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

答案 3 :(得分:0)

使用Stringutils.split()以白人的速度分割字符串。例如StringUtils.split("Hello World")返回“Hello”和“World”;

为了解决上述情况,我们使用像这样的分割方法

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

当我们打印split数组时,输出将为:

Hello

I'm

your

String

唯一的问题是如果您尝试拆分string = "I am Chaitanya Gadam. Split this srting."

它将分裂Chiatanya Gadam。进入

[0]Chiatanya
[1]Gadam.

但你可以稍后再合并!