为了账号安全,请及时绑定邮箱和手机立即绑定

通过用标签替换'`'来包装某些单词

通过用标签替换'`'来包装某些单词

慕森王 2022-01-13 15:18:39
我正在尝试复制一些“降价行为”。我正在尝试向 JS 提供一些文本,例如,像这样的字符串:"This is some very very fancy `code example` to try out yourself!"我想替换开头`和<div class="code">结尾`以"</div>"突出显示一些内容。我已经尝试过使用它,.replace()但如果没有它,它就无法工作,包括 terminating 之后的文本`。我在这里做一些根本错误的事情吗?除了手动逐个字符地遍历字符串之外,还有更优雅的解决方案吗?非常感谢帕苏-
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

试试这个:


var x = "Hello `code` World!".replace(/`([^`]+)`/g, "<div class='code'>$1</div>");


console.log(x);


查看完整回答
反对 回复 2022-01-13
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您可以尝试使用正则表达式来替换它。


var str = 'This is some very very fancy `code example` to try out yourself!';


document.body.innerHTML += str.replace(/`(.*)`/, '<div class="code">$1</div>')

.code {

  color: red;

}


(.*) 意思是:任何字符一次或多次。


$1表示:第一组的内容(其中里面())


或者如果你想更换超过1次,你可以试试这个。


var str = 'This is some `code example 1` and very very fancy `code example 2` to try out yourself!';


document.body.innerHTML += str.replace(/`(.*?)`/g, '<div class="code">$1</div>')

.code {

  color: red;

}


查看完整回答
反对 回复 2022-01-13
?
冉冉说

TA贡献1877条经验 获得超1个赞

您可以使用此调用替换something<div class="code">something</div>

someString.replace(/`([^`]*)`/, (match, p1) => `<div class="code">${p1}</div>`);


查看完整回答
反对 回复 2022-01-13
  • 3 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信