首页 > 解决方案 > 删除字符串的格式(html标签)并再次添加

问题描述

假设有一个如下所示的字符串:(由 HTML 标记括起来的数字)

示例 1:

var string = "<b>123.34</b>";

它也可能看起来像这样(由任何其他 html 标记包围)

示例 2:

var string = "<b><i>123.34</i></b>";

此替换将提取数字(或删除 html 标签)

var stringNoTags = string.replace(/<\/?[^>]+(>|$)/g, ""); 

接下来我将使用自定义函数格式化数字(例如将数字除以 60 或应用任何其他数学运算)

我现在想要的是将数字放回 HTML 标记中。最简单的方法是什么?

例如

如果我将 123.34 除以 60,我将得到 2.055,通过再次添加 HTML 标签,我会得到一个字符串

"<b><i>2.055</i></b>" 

(例 2)

标签: javascript

解决方案


考虑改用正则表达式和替换函数 - 匹配数字并返回替换的子字符串:

var string = "<b><i>123.34</i></b>";
const newString = string.replace(/\d+(?:\.\d+)?/, match => (match / 60).toFixed(5));
console.log(newString);


推荐阅读