我想只替换String中给出的完全匹配的链接。 我的代码如下:
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>"
我将Output作为replacementString,但必需的Output应该是requiredString。
提前致谢。
答案 0 :(得分:1)
将网址替换为引号:
String replacedString = originalString.replace("\"http://example.com/\"", "\"link1\"");
replacedString = replacedString.replace("\"http://example.com/contact/\"", "\"link2\"");
答案 1 :(得分:0)
问题是http://example.com/contact/
包含http://example.com/
。
请改用:
String replacedString = originalString.replace("http://example.com/contact/", "link2");
String replacedString2 = replacedString.replace("http://example.com/", "link1");
replacedString2
是必需的输出
答案 2 :(得分:-3)
java中的正则表达式是http:\\/\\/example.com.*?(?=\\\\)
。它匹配http://example.com
的所有出现,直到下一个反斜杠