我从wordpress博客获取RSS源,我在字符串中获取缩略图。以下是我得到的样本
< img src =“http://www.example.com/some-image.jpg?resize=50%2C50” class =“attachment-thumbnail wp-post-image”alt =“SomeImage” 风格=“保证金:0像素;” />
我需要从图片源中删除“?resize = 50%2C50 ”。但问题是我无法在我的代码中硬编码,因为大小可能不会保持不变。此外,属性的放置顺序可能会改变
如何简单地删除与此模式匹配的任何内容,以便始终将输出作为
< img src =“http://www.example.com/some-image.jpg” class =“attachment-thumbnail wp-post-image”alt =“Some Image” 风格=“保证金:0像素;” />
提前致谢
答案 0 :(得分:0)
RegEx捕获您的图片:src=(".+\.jpg)(\?resize\S+")
然后可以用src=\$1"
String url="<img src=\"http://www.example.com/some-image.jpg?resize=50%2C50\" class=\"attachment-thumbnail wp-post-image\" alt=\"SomeImage\" style=\"margin:0px;\" />";
final String regex="src=(\".+\\.jpg)(\\?resize\\S+\")";
url = url.replaceFirst(regex, "src=$1\"");
System.out.println(url);
答案 1 :(得分:0)
如果我理解正确,你只需要通向参数的路径,所以:
String str = "<img src=\"http://www.example.com/some-image.jpg?resize=50%2C50\" class=\"attachment-thumbnail wp-post-image\" alt=\"SomeImage\" style=\"margin:0px;\" />";
System.out.println(str.replaceFirst("(\\?\\S[^\"]+)", ""));
这将输出:
<img src="http://www.example.com/some-image.jpg" class="attachment-thumbnail wp-post-image" alt="SomeImage" style="margin:0px;" />