简体   繁体   English

在Java中使用正则表达式替换和修改String

[英]Replace and modify String using regex in java

I have a part of HTML from a website in the below String format: 我从网站以以下String格式获取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/homepage/mobile/homepage-models--touch@750w.jpg?20170808 750w" 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 / home / home / mobile / homepage-models-touch @ 542w.jpg?20170808 542w,/ tesla_theme / assets / img / homepage / mobile / homepage-models--touch @ 750w.jpg?20170808 750w“

I want to add http://tesla.com in front of all the urls in the srcset element like http://tesla_theme/assets/img/homepage/mobile/homepage-models--touch@750w.jpg?20170808 750w 我想在srcset元素中的所有URL前面添加http://tesla.com ,例如http://tesla_theme/assets/img/homepage/mobile/homepage-models--touch@750w.jpg?20170808 750w

I believe this could be done using regex, but I am not sure. 我相信可以使用正则表达式来完成此操作,但我不确定。

How do I do this using Java if I have multiple srcset elements in a html string variable, and I want to replace all of the srcset url.'s and add the server url in front? 如果我在html字符串变量中有多个srcset元素,并且想要替换所有srcset url,并在前面添加服务器url,该如何使用Java进行操作?

Note: The /tesla_theme will not be consistent, so I cannot use replaceAll, instead, i will have to use regex. 注意:/ tesla_theme将不一致,因此我不能使用replaceAll,而是必须使用正则表达式。

You can simply use String Class replace method as below, It will replace all "/_tesla" in the given String. 您可以简单地使用String类的替换方法,如下所示,它将替换给定String中的所有“ / _tesla”。 No special regex required unless you have a kind of pattern instead of "/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_");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM