使用多个分隔符拆分字符串,包括这些分隔符。

4

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

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

26+78(12*23)-16

我想得到

26

+

78

(

12

*

23

)

-

16

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

我认为您不能使用split函数来实现这一点。然而,我尝试使用字符串分词器也失败了。我该如何实现这个?


考虑使用正则表达式。 - Alexis Pigeon
如果您考虑使用UTF-8字符编码,还有一种方法。 - Smit
如果它是 c#,那么它应该是 (?=([()*+-]))。。但这是Java..:P - Anirudha
1个回答

9
我只有在这里是星期六晚上才会回答。
    String s1 = "26+78(12*23)-16";
    for(String s: s1.split("(?<=[()+*/-])|(?=[()+*/-])")){
        System.out.println(">> " + s);
    }

提供:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接