【问题标题】:Javascript ignore html tag and add space to the string after every 2 charactersJavascript忽略html标签并在每2个字符后向字符串添加空格
【发布时间】:2022-11-16 18:26:46
【问题描述】:
我有一个字符串,中间有 HTML。我想要实现的是在每第二个字符之后添加一个空格。
例如对于如下输入 -
'<span>234567</span><span>34526754</span>'
'<span>23 45 67</span><span>34 52 67 54</span>'
我怎样才能在 JavaScript 中实现这一点?
【问题讨论】:
-
不要使用正则表达式来解析字符串。使用 DomParser,遍历 DOM 以查找文本节点,操作它们的 nodeValue 属性。
标签:
javascript
reactjs
regex
ecmascript-6
【解决方案1】:
{23 45 67}{34 52 67 54}试试这个
【解决方案2】:
let str = '<span>234567</span><span>34526754</span>'
str.match(/(?<=<span>).*?(?=</span>)/g).forEach(s=>{
str = str.replace(s, s.match(/.{2}/g).join(' '))
})
console.log(str)