读书人

多个字符串怎么替换

发布时间: 2012-08-03 00:12:14 作者: rapoo

多个字符串如何替换
比如:StrString="1|2|6";
我想替换后变成:"银联支付|手机支付|消费积分支付";

(1-银联支付 2-手机支付; 4-上门付款;5-话费支付;6-消费积分支付;)

我知道这个用循环是可以一个一个的替换,但我想就是有没有更简单点的办法?或者有没有高手用正则

[解决办法]
正则的话可以用 \d
可以写个函数顺序替换 \d代码的数字
可以参照
Format(string format, object arg0) 的格式
[解决办法]
replaceAll可以么?
正则我不熟

Java code
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("","")
[解决办法]
期待中

读书人网 >J2EE开发

热点推荐