我正在使用String#replace()
将RGB字符串转换为RGBa字符串。这是当前的代码:
inputString = "rgb(255, 182, 121)";
outputString = inputString.replace( "rgb", "rgba" ).replace( ")", ",255)" ).replace( " ", "" );
在上面的示例中,输出将为"rgba(255,182,121,255)"
。然而,这个解决方案看起来有点复杂,我认为使用正则表达式可以更优雅地完成。
如何编写正则表达式(在Java中)来完成与上面代码相同的操作?
答案 0 :(得分:2)
当然可以:
inputString.replaceFirst("rgb\\((\\d++),\\s*(\\d++),\\s*(\\d++)\\)", "rgba($1,$2,$3,255)");
如果您更频繁地使用它,最好使用Pattern.compile()
预编译正则表达式。