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

时间:2012-12-15 17:59:12

标签: java regex stringtokenizer

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

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

26+78(12*23)-16

我想要

26

+

78

(

12

*

23

)

-

16

每一行作为单独的数组元素。

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

1 个答案:

答案 0 :(得分:9)

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

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

给出:

>> 26
>> +
>> 78
>> (
>> 12
>> *
>> 23
>> )
>> -
>> 16