将多项式字符串拆分为多一个分隔符并保留分隔符? (JAVA)

时间:2015-04-25 12:03:50

标签: java

例如,如果我得到字符串"1+3-2+45-6" 我需要一个字符串数组{1,+3,-2,+45,-6}

我尝试分两次,一次用" +"和另一次" - "。 但不方便。 JAVA有一些简单的方法可以做到吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

使用正向前瞻性正则表达式。 (?=[+-])正则表达式匹配+-符号之前存在的边界。根据匹配的边界拆分输入将为您提供所需的输出。

string.split("(?=[+-])");

示例:

String s = "1+3-2+45-6";
String[] parts = s.split("(?=[+-])");
System.out.println(Arrays.toString(parts));

输出:

[1, +3, -2, +45, -6]