字符串拆分情况

时间:2016-10-05 00:42:58

标签: java regex string split

我有一个相当具体的问题,我想采用一个等式并将其分解,但也要注意负数。像:

exampleString = "12--5*-2"

使用该字符串我希望将其拆分为3个数字值:
[12, -5, -2]

我通过将"6-8--5"分割为"(?<!-)-"来实现双减法 这会给我[6, 8, -5]

但我不知道如何修改它以与所有操作员一起工作,例如:
"5*-2" ---&gt; [5, -2]

我觉得这应该可以工作,我花了几个小时搜索,但没有遇到任何可以做到的事情。任何帮助或建议将不胜感激,欢呼。

1 个答案:

答案 0 :(得分:2)

您可以使用如下的正则表达式来分割字符串。

"(?<!\\G)[*/+-])"

正则表达式将在任何指定的字符*,/,+中分割 - 如果前一个字符不匹配( - &gt;' - '将仅在第一个' - '处拆分)。