2 回答

TA贡献1893条经验 获得超10个赞
在您的first内map,您可以按这些特定的关键字分隔行。当您在的正则表达式中包含捕获组时split,捕获的子字符串将包含在结果数组中,因此您可以执行以下操作:
<React.Fragment>
{
str.split('\n').map(line => (
<span>
{line.split(/\*\*(.+?)\*\*/).map((s, i) => i % 2 ? (<b>{s}</b>) : s)}
<br/>
</span>
))
}
</React.Fragment>
这看起来像降价。您还应该考虑使用markdown插件,react-markdown以使您的生活变得更轻松。

TA贡献1799条经验 获得超9个赞
let str = "You would get items\nwhich value about **$50**\nif you **pre-booked** it!"
const res = str.split('\n').map(line =>
`<span> ${line.replace(/\*\*(.*?).\*\*/,match => `<b>${match.substring(2, match.length - 2 )}</b>`)} <br/> </span>`
)
console.log(res)
添加回答
举报