Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:以与显示相同的顺序获取字符串中的delimeters_Java_Regex - Fatal编程技术网

Java:以与显示相同的顺序获取字符串中的delimeters

Java:以与显示相同的顺序获取字符串中的delimeters,java,regex,Java,Regex,我计划拆分一个由数字和运算符组成的字符串,例如+,-,*,/并将数字存储在数组中,同时将运算符存储在数组中。我已经成功地获得了这些数字,并用这些代码将它们存储在一个数组中 String num = "58.5+98*78/96/78.7-3443*12-3"; String[] strings = (num.split("[+|*|/|-]")); for (String string : strings) { System.out.println(string); } 哪些产出: 5

我计划拆分一个由数字和运算符组成的字符串,例如+,-,*,/并将数字存储在数组中,同时将运算符存储在数组中。我已经成功地获得了这些数字,并用这些代码将它们存储在一个数组中

String num = "58.5+98*78/96/78.7-3443*12-3";
String[] strings = (num.split("[+|*|/|-]"));
for (String string : strings) {
    System.out.println(string);
}
哪些产出:

58.5 98 78 96 78.7 3443 12 3. 我想要做的是按照分隔符在字符串上出现的相同顺序获取分隔符,如下所示:

+ * / / - * -
我知道这与正则表达式有关,但我很难实现它。感谢您的帮助。

对于一些快速而肮脏的内容,您可以使用否定的正则表达式进行拆分,并忽略/删除空字符串

String strings = (num.split("[^+|*|/|-]"));
for (String string : strings) {
    if (!string.equals("")) {
        System.out.println(string);
    }
}

如果您还需要捕获匹配的值,则需要使用适当的正则表达式类,而不仅仅是String.split.that!真的不太了解regex,谢谢你的帮助!!