You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何使用正则移除指定字符、仅保留数字和逗号

问题说明

现有变量定义:

var cartstring = "27,00 - R"

需求限制:仅可使用正则表达式实现(不允许使用slice等其他字符串处理方法),需要生成cartstring1、cartstring2两个字符串,二者最终值都为"27,00"。两个变量的实现逻辑要求如下:

  • cartstring1:通过移除字符串中的空格、-、R三类字符实现
  • cartstring2:通过仅保留字符串中的数字和,字符实现

原有代码问题分析

  1. cartstring1的正则仅匹配了空格,没有包含需要移除的-和R字符
  2. cartstring2的正则/\D/g匹配所有非数字字符,会把需要保留的逗号也一并删除

修正后可运行代码

// cartstring1:移除空格、-、R三类字符
cartstring1 = cartstring.replace(/[\s\-R]/g, "");
// cartstring2:仅保留数字和逗号
cartstring2 = cartstring.replace(/[^\d,]/g, "");

正则说明

  • 针对cartstring1的正则/[\s\-R]/g:字符组[]中包含三类需要移除的字符,\s匹配空格、\-匹配横杠(加转义符避免被识别为字符区间)、R匹配大写字母R,g表示全局匹配所有符合规则的字符替换为空
  • 针对cartstring2的正则/[^\d,]/g:字符组开头的^表示取反,\d匹配数字,即匹配所有不是数字也不是逗号的字符,全局替换为空后就仅保留了需要的内容

内容的提问来源于stack exchange,提问作者h20002000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:36:03