现在我有一个像这样的字符串
it is #1, or #2, or #3
我想把它转移到这个:
it is < a href="/1">#1< /a>, or #< a href="/2">#2< /a>, or < a href="/3">#3< /a>
所以我想将“#{num}”改为“&lt; a href =”/ {num}“&gt;#{num}&lt; / a&gt;”
我该怎么办?
答案 0 :(得分:2)
这个Java代码应该可以工作:
String repl = input.replaceAll("(?<!>)#(\\d+)(?!<)", "<a href=\"/$1\">#$1</a>");
PS:我添加了前瞻功能,以确保我们不会使用超链接替换字符串,例如:it is <a href="/1">#1</a>
(请参阅演示链接以获取示例)。
答案 1 :(得分:1)
使用捕获组捕获#
以及以下数字。
正则表达式:
(#(\\d+))
替换字符串:
< a href="/$2">$1< /a>
String str = "it is #1, or #2, or #3";
System.out.println(str.replaceAll("(#(\\d+))", "< a href=\"/$2\">$1< /a>"));
输出:
it is < a href="/1">#1< /a>, or < a href="/2">#2< /a>, or < a href="/3">#3< /a>