我有这个字符串,其中有很多像这样的用户名 -
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-_]/
);
怎么做?
答案 0 :(得分:2)
假设你总是用空格分隔相同的模式,你不需要太多的正则表达式,只需要在空格上拆分并替换@
:
var someString = "@earth @moon";
var str = someString.split(/\s+/).map(item =>
`[${item}](https://www.somewebsite.com/${item.replace('@', '')})`)
.join(" ")
console.log(str)