Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 将字符串查询从一种形式转换为另一种形式_Java_String - Fatal编程技术网

Java 将字符串查询从一种形式转换为另一种形式

Java 将字符串查询从一种形式转换为另一种形式,java,string,Java,String,我有一个字符串,其中包含使用布尔运算符的条件,如: 1) OR(key1:value1,key2:value2,key3:value3) 2) AND(key1:value1,key2:value2,key3:value3,key4:value4,key5:value5) 3) NOT(key1:value1,key2:value2) 4) AND(key1:value1,key2:value2,key3:value3,OR(key4:value4,key5:value

我有一个字符串,其中包含使用布尔运算符的条件,如:

 1)   OR(key1:value1,key2:value2,key3:value3)

 2)   AND(key1:value1,key2:value2,key3:value3,key4:value4,key5:value5)

 3)   NOT(key1:value1,key2:value2)

 4) AND(key1:value1,key2:value2,key3:value3,OR(key4:value4,key5:value5),NOT(key6:value6,key7:value7))
现在我想将其转换为另一种格式,如下所示:

1)    key1='value1' OR key2='value2' OR key3='value3'

2)    key1='value1' AND key2='value2' AND key3='value3' AND key4='value4' AND key5='value5'

3)    NOT(key1='value1' OR key2='value2')

4)    ( key1='value1' AND key2='value2' AND key3='value3' ) AND ( key4='value4' OR key5='value5') AND ( NOT(key6='value6' OR key7='value7'))
我正在浏览以下链接:


但我不清楚如何使用正则表达式实现这一点。请让我知道如何在Java中使用
String.replaceAll()
方法执行此操作

public String replaceAll(String regex,
                         String replacement)

Replaces each substring of this string that matches the given regular 
expression with the given replacement. 
例如,对于第一个字符串-

"OR(key1:value1,key2:value2,key3:value3)"
你本来可以的

String string = "OR(key1:value1,key2:value2,key3:value3)";

string = string.replaceAll("OR","");
string = string.replaceAll("(","");
string = string.replaceAll(")","'");
string = string.replaceAll(":","='");
string = string.replaceAll(",","' OR ");

你试过什么吗?@rai.skumar是的,我试过在String类中使用replace函数,但我不能用它转换我问题中的第四个数据。然后我在SO中看到了这篇文章:非常感谢CodeBlue,但是如何转换我在问题中提到的第四个字符串。这是我无法使用替换函数转换的。