Splitting on multiple delimiters but keep the delimiters on the same string

后端 未结 3 1608
伪装坚强ぢ
伪装坚强ぢ 2021-01-20 13:44

I want help with regular expressions to solve the following problem:

I have a string such as \"1£23$456$£$\"

when I split on it I want the output in my strin

3条回答
  •  后悔当初
    2021-01-20 14:28

    Use a look behind, which is non-consuming:

    String[] parts = str.split("(?<=\\D)");
    

    That's all there is to it. The regex means to split "just after every non-digit", which seems to be exactly your intention.


    Some test code:

    String str = "1£23$456$£$";
    String[] parts = str.split("(?<=\\D)");
    System.out.println( Arrays.toString( parts));
    

    Output:

    [1£, 23$, 456$, £, $]
    

提交回复
热议问题