Groovy替换字符之后的所有内容

Groovy替换字符之后的所有内容,groovy,Groovy,我需要用参数值替换groovy中特定字符后的所有内容 我的字符串是: env.APP_VERSION="1.9" 我想用某个参数的值替换=号后面的所有内容,我们称之为$PARAM 我可以在=标志后修剪所有东西 但不能取代它 result = result.substring(0, result.indexOf('APP_VERSION=')); 如果您有任何帮助,我们将不胜感激。在不知道您的原始意图的情况下,您有两种选择: 1不要重新发明轮子并使用GString magic: String

我需要用参数值替换groovy中特定字符后的所有内容

我的字符串是:

env.APP_VERSION="1.9"
我想用某个参数的值替换=号后面的所有内容,我们称之为$PARAM

我可以在=标志后修剪所有东西

但不能取代它

result = result.substring(0, result.indexOf('APP_VERSION='));

如果您有任何帮助,我们将不胜感激。

在不知道您的原始意图的情况下,您有两种选择:

1不要重新发明轮子并使用GString magic:

String ver = '1.9'
String result = "env.APP_VERSION=\"$ver\""
2.使用一些正则表达式:

 result = result.replaceFirst( /APP_VERSION="[^"]+"/, 'APP_VERSION="something"' )

事实上,一个可能的解决方案是使用正则表达式。它应包括:

?
src = 'env.APP_VERSION="1.9"'
PARAM = '"xyz"'
res = src.replaceFirst(/(?<==).*/, PARAM)
spl = src.split('=')
res = spl[0] + '=' + PARAM