我有一个字符串,例如 1+++-3--+++++2
,其中包含 +
和 -
符号。
我想要做的是用 +
或 -
符号表示 +
和 -
部分。
如果字符串中有奇数个 -
符号,我将用 -
替换它,如果是偶数,我将用 +
替换它。我怎样才能使用正则表达式做到这一点?
例如,我有一个数学表达式,例如 1+-+-2-+--+3
。它将被 1+2-3 取代
最佳答案
您可以创建一个运算符数组,并使用 for
循环来计算一个字符的所有出现次数。例如:
String expression = "1+++-3--+++++2";
String[] str = expression.split("[0-9]+");
for(op : str) {
int count = 0;
for(int i =0; i < str.length(); i++)
if(op.charAt(i) == '-')
count++;
if(count % 2 == 0) {
op = "-";
}
else {
op = "+";
}
}
在str[]
中分配修改后的单字符运算符后,编写新表达式应该相对简单。
关于java - 正则表达式 - 匹配包含 "+"和 "-"的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31529522/