81,092
社区成员
发帖
与我相关
我的任务
分享
教程说明
巴拉巴拉巴拉
http://baidu.com/?baidu=fandaolian/img1.jpg
呱啦呱啦挂啦挂啦
http://baidu.com/?baidu=fandaolian/img2.jpg
乌拉乌拉乌拉乌拉
http://baidu.com/?baidu=fandaolian/img3.jpg
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦
//错误例子
http://google.com/my/tupian1.jpg
http://google.com/my/tupian2.jpg
http://google.com/my/tupian3.jpg
教程说明
巴拉巴拉巴拉
呱啦呱啦挂啦挂啦
乌拉乌拉乌拉乌拉
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦
//错误例子
教程说明//错误例子
巴拉巴拉巴拉
呱啦呱啦挂啦挂啦
乌拉乌拉乌拉乌拉
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦
http://google.com/my/tupian1.jpg
http://google.com/my/tupian2.jpg
http://google.com/my/tupian3.jpg
教程说明
巴拉巴拉巴拉
http://google.com/my/tupian1.jpg
呱啦呱啦挂啦挂啦
http://google.com/my/tupian2.jpg
乌拉乌拉乌拉乌拉
http://google.com/my/tupian3.jpg
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦
吧啦吧啦吧啦吧啦吧啦
str = str.replaceAll("([?].*?img)", "my/tupian");//直接把从?到img部分替换了
public class Sample {
public static void main(String[] args) {
String str = "教程说明\n" +
"巴拉巴拉巴拉\n" +
"http://baidu.com/?baidu=fandaolian/img1.jpg\n" +
"呱啦呱啦挂啦挂啦\n" +
"http://baidu.com/?baidu=fandaolian/img2.jpg\n" +
"乌拉乌拉乌拉乌拉\n" +
"http://baidu.com/?baidu=fandaolian/img3.jpg\n" +
" \n" +
"吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦\n" +
"吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦\n" +
"吧啦吧啦吧啦吧啦吧啦";
str = str.replaceAll("(.*?/)[?]baidu=fandaolian/img(\\d)([.]jpg)", "$1my/tupian$2$3");
System.out.println(str);
}
}
String str = "<img src=\"http://baidu.com/?baidu=fandaolian/img1.jpg\" />" +
"<img src=\"http://baidu.com/?baidu=fandaolian/img1.jpg\" />";
String reg = "src=\\\"([\\S]*?jpg)\\\"";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
boolean result1 = matcher.find();
List<String> stringList = new ArrayList<>();
stringList.add("http:1");
stringList.add("http:2");
int i = 0;
//string.replaceAll源码的实现
StringBuffer sb = new StringBuffer();
while (result1) {
matcher.appendReplacement(sb, "src=\""+stringList.get(i)+"\"");
result1 = matcher.find();
i++;
}
matcher.appendTail(sb);