最近正好在研究正则顺便写个不知道你的6.91的1是四舍五入还是直接删掉 逻辑就这样 你自定义可以改改 function format(str) { //p1 匹配到的第组个数字 17和6.91 p2 匹配到的第一组字符串 分钟和公里 return str.replace(/(\d+\.*\d+)([\u4e00-\u9fa5]+).*/, function (match, p1, p2) { if (/\./.test(p1)) {//判断小数和整数 return (p1 * 1).toFixed(1) + p2; } else { return p1 + p2 } }); } var str1 = "17分钟40秒"; var str2 = "6.91公里"; console.log(format(str1))//17分钟 console.log(format(str2))//6.9公里
最近正好在研究正则顺便写个
不知道你的6.91的1是四舍五入还是直接删掉 逻辑就这样 你自定义可以改改