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

如何分割含负整数的字符串,使负号与后续数字保留为单个元素

分割带负号的数字字符串实现方案

你用split('')会将字符串的每个字符单独拆分,导致负号-被单独提取出来。要实现将-1作为单个元素的需求,可采用以下两种方案:

方法一:正则表达式匹配

利用正则断言精准匹配单独数字或带负号的单个数字:

const str = '2345-10';
const arr = str.match(/(?<!\d)-?\d/g);
console.log(arr); // 输出 ['2', '3', '4', '5', '-1', '0']

正则说明:

  • (?<!\d):负向后行断言,确保当前匹配位置的前一个字符不是数字,避免误匹配数字序列中的负号
  • -?\d:匹配可选的负号,加上单个数字

方法二:手动遍历拼接

通过遍历字符串,遇到负号时主动拼接后续字符:

const str = '2345-10';
const arr = [];
for (let i = 0; i < str.length; i++) {
  if (str[i] === '-' && i < str.length - 1) {
    arr.push(str[i] + str[i+1]);
    i++; // 跳过已处理的下一个字符
  } else {
    arr.push(str[i]);
  }
}
console.log(arr); // 输出 ['2', '3', '4', '5', '-1', '0']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 02:45:02