例如,如果我得到字符串"1+3-2+45-6"
我需要一个字符串数组{1,+3,-2,+45,-6}
我尝试分两次,一次用" +"和另一次" - "。 但不方便。 JAVA有一些简单的方法可以做到吗?
提前致谢!
答案 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]