2013-04-26 87 views
0

我有一个包含使用布尔运算符像条件的字符串:从一种形式转换查询字符串到另一个

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')) 

我正在通过这个链接:Want to convert a string in one form into another form?

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

+0

你尝试过什么吗? – 2013-04-26 17:03:14

+0

@ rai.skumar是的,我尝试在字符串类中使用替换函数,但我不能用它来转换我的问题中的第四个数据。然后我遇到了这样的帖子:http://stackoverflow.com/questions/9377589/want-to-convert-a-string-in-one-form-into-another-form – chaitanya 2013-04-26 18:17:10

回答

1

使用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 "); 
+0

非常感谢CodeBlue,但是如何转换我在我的问题中提到的第4个字符串。这是我无法使用替换函数进行转换的那个。 – chaitanya 2013-04-26 18:19:27

+0

在stackoverflow,你说感谢upvoting答案:) – CodeBlue 2013-04-26 19:29:36

相关问题