我有以下文字:
String text = "lorem ipsum @@MyText[1] lorem ipsum @@MyText[22]";
我希望将其替换为:
String text = "lorem ipsum /my/url/1 lorem ipsum /my/url/22;
我做了以下事情:
String newText = text.replaceAll("@@MyText\\[\\d*\\]", "/my/url/%s");
但是这样我得到了:
"lorem ipsum /my/url/%s lorem ipsum /my/url/%s;
我怎样才能替换给定的文本,但仍然保留括号中的数字?
非常感谢您提前
答案 0 :(得分:4)
您需要将[...]
中的号码放在单独的群组中,并通过$id
替换该群组中的匹配,其中id
代表该群组的号码。
使用
replaceAll("@@MyText\\[(\\d+)\\]", "my/url/$1")
// ^^^^^^ group 1 ^^ part matched by group 1