在java中使用regex替换和修改String

时间:2017-08-14 18:09:59

标签: java html

我从以下字符串格式的网站获得HTML的一部分:

srcset =“/tesla_theme/assets/img/homepage/mobile/homepage-models--touch@200w.jpg?20170808 200w,/ tesla_theme / assets / img / homepage / mobile / homepage-models - touch @ 338w .jpg?20170808 338w,/tesla_theme/assets/img/homepage/mobile/homepage-models--touch@445w.jpg?20170808 445w,tesla_theme / assets / img / homepage / mobile / homepage-models - touch @ 542w。 jpg?20170808 542w,/tesla_theme / assets / img / home / mobile / home_models--touch@750w.jpg?20170808 750w“

我想在srcset元素中的所有网址前添加http://tesla.com,例如http://tesla_theme/assets/img/homepage/mobile/homepage-models--touch@750w.jpg?20170808 750w

我相信这可以使用正则表达式完成,但我不确定。

如果我在html字符串变量中有多个srcset元素,并且我想替换所有srcset url。并在前面添加服务器URL,我该如何使用Java?

注意:/ tesla_theme不一致,所以我不能使用replaceAll,相反,我将不得不使用正则表达式。

1 个答案:

答案 0 :(得分:1)

您可以简单地使用如下所示的String Class替换方法,它将替换所有" / _ tesla"在给定的字符串中。除非你有一种模式而不是" / tesla"

,否则不需要特殊的正则表达式
String srcset=" /tesla_theme/assets/img/homepage/mobile/homepage-models--touch@200w.jpg?20170808 200w, /tesla_theme/assets/img/homepage/mobile/homepage-models--touch@338w.jpg?20170808 338w, /tesla_theme/assets/img/homepage/mobile/homepage-models--touch@445w.jpg?20170808 445w, tesla_theme/assets/img/homepage/mobile/homepage-models--touch@542w.jpg?20170808 542w, /tesla_theme/assets/img/homepage/mobile/homepage-models--touch@750w.jpg?20170808 750w";

String requiredSrcSet = srcset.replace("/tesla_", "http://tesla_");