字符串Java:仅替换完全匹配的URL
我只想替换字符串中给定的完全匹配的链接。 我的代码如下:
String originalString = "<a target=\"_blank\" href=\"http://example.com/\"><span style=\"font-size: 12px;\">ABC</span></a>"
+ "<a target=\"_blank\" href=\"http://example.com/contact/\"><span style=\"font-size: 12px;\">Contact</span></a>";
String replacedString = originalString.replace("http://example.com/", "link1");
System.out.println("Replaced String:" + replacedString);
replacedString = "<a target="_blank" href="link1"><span style="font-size: 12px;">ABC</span></a><a target="_blank" href="link1contact/"><span style="font-size: 12px;">Contact</span></a>"
requiredString = "<a target="_blank" href="link1"><span style="font-size: 12px;">ABC</span></a><a target="_blank" href="link2"><span style="font-size: 12px;">Contact</span></a>"
我得到的输出是replacedString,但所需的输出应该是requiredString
提前谢谢
# 1 楼答案
java中的工作正则表达式是
http:\\/\\/example.com.*?(?=\\\\)
。它匹配http://example.com
的所有出现,直到下一个反斜杠# 2 楼答案
将URL替换为引号:
# 3 楼答案
问题是
http://example.com/contact/
包含http://example.com/
。 改用这个:replacedString2
是必需的输出