拆分包含多个分隔符的字符串,包括分隔符

Ers*_*ker 4 java regex stringtokenizer

我想使用多个字符分隔符拆分字符串,但我也想存储分隔符.我的分隔符是()+-*/

所以,例如,如果我有一个字符串

26+78(12*23)-16

我想得到

26

+

78

(

12

*

23

)

-

16
Run Code Online (Sandbox Code Playgroud)

每行作为单独的数组元素.

我认为你不能使用split函数来实现这一点.但是,我使用string-tokenizer进行的试验也失败了.我怎样才能做到这一点?

Nis*_*ant 9

如果不是星期六晚上,我不会回答:

    String s1 = "26+78(12*23)-16";
    for(String s: s1.split("(?<=[()+*/-])|(?=[()+*/-])")){
        System.out.println(">> " + s);
    }
Run Code Online (Sandbox Code Playgroud)

得到:

>> 26
>> +
>> 78
>> (
>> 12
>> *
>> 23
>> )
>> -
>> 16
Run Code Online (Sandbox Code Playgroud)