首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

字符串中的数目字替换

2013-09-05 
字符串中的数字替换有这么一串字符串:[1]年内有[2]次(含)以上交通违法未处理的,未纳入重点对象管理的企业

字符串中的数字替换
有这么一串字符串:"[1]年内有[2]次(含)以上交通违法未处理的,未纳入重点对象管理的企业所属的货运及客运属性的大型车辆".需要把[]里的数字分别替换掉成[12],[18]。请大神帮忙写个程序,重谢!!(不要写死,因为参数可能有时候会有多个)
[解决办法]
没有规律的事你觉得计算机能做么?
根据你说所说的,只能这么做了。。


public static void main(String[] args) {
String[] n={"10","20","30","40"};
int num=0;

String str="[1]年内有[2]次(含)以上交通违法未处理的,未纳入重点对象管理的企业所属的货运及客运属性的大型车辆";
Matcher m = Pattern.compile("\\[\\d{1}\\]").matcher(str);
int i=0;
while(m.find()){
String s=m.group();
int indexOf = str.indexOf(s,i);
str=str.substring(0,indexOf+1)+n[num++]+str.substring(indexOf+s.length()-1);
i=indexOf;
}
System.out.println(str);
}

结果:
[10]年内有[20]次(含)以上交通违法未处理的,未纳入重点对象管理的企业所属的货运及客运属性的大型车辆

热点排行