java - 正则表达式 - 匹配包含 "+"和 "-"的字符串

标签 java regex string numbers number-formatting

我有一个字符串,例如 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/

相关文章:

jquery - 正则表达式不忽略字母大小写

c# - 将字节从文本框转换为字节数组再转换为字符时的奇怪行为?

java - : Hand over points to GameOverActivity

java - 菜单样式 CSS Java

javascript - 正则表达式 - javascript

jquery - 使用jquery搜索并替换多个特殊字符

java - 调用 getJSONObject 时出现 JSON 异常

java - JDBC中CreateStatement和PreparedStatement的区别

c++ - 如何找到字符串的内存地址?

string - 在 MATLAB 中将三个数字连接在一起