[英]Converting string query from one form to another
我有一個包含使用布爾運算符的條件的字符串,例如:
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 ");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.