javascript - 删除字符串的格式(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)
解决方案
考虑改用正则表达式和替换函数 - 匹配数字并返回替换的子字符串:
var string = "<b><i>123.34</i></b>";
const newString = string.replace(/\d+(?:\.\d+)?/, match => (match / 60).toFixed(5));
console.log(newString);
推荐阅读
- android - 弄清楚主要问题是什么,甚至我下载了 aapt2-3.2.1-4818971-windows.jar 但是在哪里粘贴这个文件?
- javascript - Ratchet + AWS EC2 + SSL + ProxyPass -> 无效状态行
- nginx - 如何使 nginx CORS 配置(add_header)工作?
- monitoring - Javamelody 收集服务器聚合文件
- wordpress - WP - 按日期获取类别计数
- kubernetes - Kubernetes,自动服务回退到另一个命名空间
- solr - 按查询对 SOLR 结果进行排名
- dart - 循环时插入复选框
- hadoop - SAS Hive (Hadoop) 中是否有包含函数?
- javascript - Vanilla JavaScript:禁用网页中给定的预先存在的组合键