我有以下输入字符串:

flag1 == 'hello' and flag2=='hello2'

(字符串长度和=='something'有所不同)。

所需的输出:
flag1==("hello") and flag2=("hello2")

我试过了
line = line.replaceAll("(\\s*==\\s*)", "(\"")

但这并没有给我结尾括号。知道如何做到这一点吗?

谢谢!

最佳答案

除非我有误会,否则您可以将引号之间的所有内容都匹配并替换。

String s = "flag1 == 'hello' and flag2=='hello2'";
s = s.replaceAll("'([^']+)'", "(\"$1\")");
System.out.println(s); // flag1 == ("hello") and flag2==("hello2")

如果要替换==周围的空格:
s = s.replaceAll("\\s*==\\s*'([^']+)'", "==(\"$1\")");

09-26 03:53