我有这个字符串,其中有一堆这样的用户名 -
var someString = "@earth @moon";
我希望字符串是这样的 -
"[@earth](https://www.somewebsite.com/earth) [@moon](https://www.somewebsite.com/moon)"
我想过使用正则表达式,但我不太擅长正则表达式
console.log(myStr.replace(/[a-z0-9A-Z-_]/,
"[" + /[a-z0-9A-Z-_]/ +"](https://www.website.com/" + /[a-z0-9A-Z-_]/
);
怎么做?
最佳答案
假设您始终具有由空格分隔的相同模式,则不需要太多正则表达式,只需按空格分割并替换 @
:
var someString = "@earth @moon";
var str = someString.split(/\s+/).map(item =>
`[${item}](https://www.somewebsite.com/${item.replace('@', '')})`)
.join(" ")
console.log(str)
关于javascript - 用个人资料链接 javascript 替换用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46923199/