我想使用多个字符分隔符拆分字符串,但我也想存储分隔符。我的分隔符为()+-*/
例如,如果我有一个字符串
26+78(12*23)-16
我想要
26
+
78
(
12
*
23
)
-
16
每一行作为单独的数组元素。
我认为你不能使用split函数来实现这一点。但是,我使用string-tokenizer进行的试验也失败了。我怎样才能做到这一点?
答案 0 :(得分:9)
如果不是星期六晚上,我不会回答:
String s1 = "26+78(12*23)-16";
for(String s: s1.split("(?<=[()+*/-])|(?=[()+*/-])")){
System.out.println(">> " + s);
}
给出:
>> 26
>> +
>> 78
>> (
>> 12
>> *
>> 23
>> )
>> -
>> 16