Java String's split method ignores empty substrings

后端 未结 2 1090
借酒劲吻你
借酒劲吻你 2020-12-10 05:26

It occured to me today the behavior of java String.split() is very strange.

Actually I want to split a string \"aa,bb,cc,dd,,,ee\" to array

2条回答
  •  醉话见心
    2020-12-10 05:55

    You can use public String[] split(String regex, int limit):

    The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array. If the limit n is greater than zero then the pattern will be applied at most n - 1 times, the array's length will be no greater than n, and the array's last entry will contain all input beyond the last matched delimiter. If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.


    String st = "aa,bb,cc,dd,,,,";
    System.out.println(Arrays.deepToString(st.split(",",-1)));
                                                        ↑
    

    Prints:

    [aa, bb, cc, dd, , , , ]
    

提交回复
热议问题