用正则删掉指定内容?

如:17分钟40秒
如:6.91公里
如何修改成:17分钟
如何修改成:6.9公里

求大神

阅读 1.8k
1 个回答

最近正好在研究正则顺便写个
不知道你的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公里
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题