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

JavaScript按指定运算符拆分字符串时误拆分小数点的问题

解决方法

你的正则表达式/[*+-/]/存在逻辑错误:在正则字符集[]中,-如果放在两个字符中间,会被解析为ASCII字符范围。+的ASCII码是43,/是47,这两个值之间包含了小数点.(ASCII码46),所以正则会把小数点也当作分隔符,导致拆分结果不符合预期。

修正方案很简单,把-放在字符集的开头或结尾,避免它被识别为范围符号:

const test = '9.5+5*4/2.2'
// 把-放在字符集开头,明确表示单独的运算符
console.log(test.split(/[-*+/]/))
// 或者放在结尾
console.log(test.split(/[*+/-]/))

运行以上代码,就能得到预期结果:["9.5", "5", "4", "2.2"]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:28:12