我有这个方法,它会在每次出现@something时插入一个锚标记。 锚标记包含指定子URL的href。
这是代码
private generateAnchors(content: string) {
return content.replace(/(@[^ @]+)/ig, '<a href="/home/user/$1">$1</a>');
}
这会输出@something的每次出现并生成锚标记。但是我需要删除&#39; @&#39;第一次插入$ 1时标记,但不是最后一次。如何在第一次插入$ 1时基本上执行.substring(1)?
答案 0 :(得分:3)
你可以划分你的正则表达式,以便有两个元素:@
和其他
private generateAnchors(content: string) {
return content.replace(/(@)([^ @]+)/ig, '<a href="/home/user/$2">$1$2</a>');
}
答案 1 :(得分:2)
这应该有用(只捕获没有@
的部分并手动将其添加到替换部分):
private generateAnchors(content: string) {
return content.replace(/@([^ @]+)/ig, '<a href="/home/user/$1">@$1</a>');
}