public class cs { public static void main(String[] args) {
String a="aaaaaw2waaa";
System.out.println(a.replaceAll("aw(\\d*)wa",func("$1")));
}
public static String func(String num){
num+="这里要能获得$1的值,能够在这里操作";
return num;
}
} 要能在func()中获得$1的值操作,然后返回给replaceall这里面,要怎么做啊?其中要判断替换的aw2wa有多处。
也不一定非要用replaceall,如有一个方法public String func(String str){}
只要能将字符串中所有的aw[数字]wa替换成aw[func(数字)的返回值]wa便可这个正则替换在网站中执行的次数极频繁,要怎样写呢?
解决方案 »
- 帮忙推荐几款软件
- 求毕设题目。
- 有什么函数可以实现让JTable中某几个Cell不可见或不可编辑?
- san fen
- 第一次第三天在软件公司工作...再做不出来,明天就要下岗了!帮帮我...java与sql
- 讨论文曲星上的猜数字游戏!(编的已经差不多了,还有点小问题)
- 从数据库传一个参数(status)过来,是0,1,2,3,4 or 5其中一个...大家帮忙啊!
- repaint & update有啥区别?
- 运行时出错:Failed reading value of registry key?
- JMenu 快捷键无效
- 关于y /= --y-5;的问题
- JDK 在windowXP 要不要配置环境变量????
怎样能将$1获取的字符串传入func呢
public static void main(String[] args) {
String a="aaaaaw2waaa";
System.out.println(a.replaceAll("aw(\\d*)wa",func("$1")));
}
public static String func(String num){
num+="111";
return num;
}结果:aaaa2111aa有什么不对不?我用的是1.5
aaaa2这里要能获得2的值,能够在这里操作aa
这效果好着呢么
public class cs { public static void main(String[] args) {
String a="aaaaaw2waaa";
System.out.println(a.replaceAll("aw(\\d*)wa",func("$1")));
}
public static String func(String num){
num+="真的不明白,你的能满足要求啊!";
return num;
}
}
//打印结果:aaaa2真的不明白,你的能满足要求啊!aa着色的地方就是你传入的啊!
结果成了这样了:a.replaceAll("aw(\\d*)wa","$1111");但如果func换成:public static String func(String num){
Integer.parseInt(num);就不行了,传入的是一个"$1"
num+="111";
return num;
}
public static void main(String[] args) {
String a="aaaaaw2waaa";
Matcher m = Pattern.compile("aw(\\d*)wa").matcher(a);
while(m.find()){
System.out.println(func(m.group(1)));
}
}
public static String func(String num){
System.out.println("num = "+Integer.parseInt(num));
num+="楼主是不是要传结果啊!";
return num;
}
你要的是不是num不是$1,而是从字符a中截取的数字?
//是这个需求么?对文本中某种特殊字符串做一些简单的拼接处理。
String a="aaaaaaw123wa456";
System.out.println(a.replaceAll("(?<=aw)(\\d*)(?=wa)","经过包装的【$1】在此"));
String a="aaaaaw2waaaw345wa";
Matcher m = Pattern.compile("aw(\\d*)wa").matcher(a);
while(m.find()){
a=a.replaceFirst("aw\\d*wa", func(m.group(1)));
}
System.out.println(a);
}
public static String func(String num){
System.out.println("num = "+Integer.parseInt(num));
num+="楼主是不是要传结果啊!";
return num;
}