日期:2014-05-19 浏览次数:20714 次
String a="1|2|6"; String[] a_value = {"1","2","4","5","6"}; String[] a_name ={"银联支付","手机支付","上门付款","话费支付","消费积分支付"}; for(int i=0;i<a_value.length;i++){ a = a.replaceAll(a_value[i], a_name[i]); } System.out.println(a);
------解决方案--------------------
你是替换不同的值,总归要一个个替换的吧?
如果你出现多个1、2、4、5、6就是批量替换了啊?
------解决方案--------------------
可以用map来存放对应关系,截取完字符串时候直接map.get("1")来得到对应的字符串,然后拼接一下即可。正则没研究。
------解决方案--------------------
多个替换为多个,估计得用replaceAll了(如4楼),正则好像是可以把多个替换成一个:
String regEx = "a|f"; //表示一个或多个a
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher("aaabbcedfff a ccdeaa");
String s = m.replaceAll("A");
aaabbcedfff a ccdeaa
--->
AAAbbcedAAA A ccdeAA
------解决方案--------------------
replace("","")
------解决方案--------------------
期待中