Java字符串替换问题

我有一个Url想用正则表达式替换内容Stringurl="www.asd.com/?userid={userid}&password={password}";String... 我有一个Url 想用正则表达式替换内容
String url = "www.asd.com/?userid={userid}&password={password}";
String[] values = {"123","321"};
替换后
www.asd.com/?userid=123&password=321;
最好提供一个共同方法 能够按数组顺序的 替换掉"{***}"
展开
 我来答
zph516
推荐于2016-06-26 · 超过21用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:39.4万
展开全部
@Test
public void TestReplace(){

String url = "www.asd.com/?userid={userid}&password={password}";
String[] values = {"123","321"};
String regex = "\\{[^\\{\\}]*\\}";
Pattern pt = Pattern.compile(regex);
Matcher match = pt.matcher(url);
int i = 0;
while(match.find()) {
String paramValue = match.group();
url = url.replaceAll(paramValue.replaceAll("\\{", "\\\\{").replaceAll("\\}", "\\\\}"), values[i]);
i++;
}
System.out.println("url ===="+url);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骤之风
2014-09-10 · TA获得超过245个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:47.5万
展开全部
参数较少时直接替换

String[] values = {"123","321"};

String username=values[0];
String password=values[1];

String url = "www.asd.com/?userid="+username+"&password="+password;
参数较多时,你想写个方法也可以,可变参数函数和正则表达式配合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slackerHD
2014-09-10 · TA获得超过142个赞
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:75.2万
展开全部
用String.format似乎更好。

String[] values = {"123","321"};
String url = String.format("www.asd.com/?userid={%s}&password={%s}",values[0],values[1]);
System.out.println(url);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b50eb86
2014-09-10 · TA获得超过258个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:195万
展开全部
replace方法就可以吧
追问
想学习下正则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式