java正则表达式怎么一个个替换匹配的内容

String a = "我是 f_static_000 的 f_static_001 aaa f_static_001"
要求把 里面f_static_xxx 全部替换成 #[face/png/f_static_xxx.png]#
用正则表达式可以做吗?或者其他办法也行,急求坐等

String a = "我是 f_static_000 的 f_static_001 aaa f_static_001";
// 正则根据自己需要修改,replaceAll可以使用正则的捕获组功能,$n引用第n个捕获组
/**
replaceAll(regExp,replacement);第一个参数是正则字符串,第二个是替换内容
正则里面有捕获(正则里面用小括号捕获)和引用的功能
*/
a = a.replaceAll("(f_static_\\d+)","#[face/png/$1.png]#");

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-15
public static void main(String[] args){

String a = "我是 f_static_000 的 f_static_001 aaa f_static_001";

a = a.replaceAll("f_static_\\d{3}", "#[face/png/$0]#");

System.out.println(a);
}

本回答被网友采纳
第2个回答  2015-06-15
var b = a.replace(/f_static_[0-9]{3}/g,"#[face/png/f_static_xxx.png]#");追问

xxx是上面那些000 001 002,不是直接输出xxx

相似回答