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,但是如何转换我在问题中提到的第四个字符串。这是我无法使用替换函数转换的。