[英]Unable to replace a string with another string in java using regex
我有一个字符串,想替换其中的某些字符。 输入String = "abc test=0 test1=123 test2=764"
输出String = "abc test=$test test1=$test1 test2=$test2"
我在 java 中使用 replace 和 replaceAll 尝试了一些事情。 例如:
String abc = directiveValue.replaceAll("test%", test+"=$"+test);
要么
String abc = directiveValue.replaceAll("test[.*]", test+"=$"+test);
你可以匹配:
(test\d*)=\S*
并替换为 2 个捕获组$1=\$$1
之间的美元符号
System.out.println(
"abc test=0 test1=123 test2=764"
.replaceAll(
"(test\\d*)=\\S*",
"$1=\\$$1"
)
);
输出
abc test=$test test1=$test1 test2=$test2
我们可以使用正则表达式替换:
String input = "abc test=0 test1=123 test2=764";
String output = input.replaceAll("(\\w+)=\\w+", "$1=\\$$1");
System.out.println(output);
// abc test=$test test1=$test1 test2=$test2
使用 VScode,我将使用这个(test)(\d?)(=)(\b.+?\b)
并替换为$1$2$3$test$2
我希望它对您的 Java 实现有所启发。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.