首页 > 解决方案 > 正则表达式 - 第二次出现字符后捕获

问题描述

我有一个数字列表

1.01.01.01

1.01.01.02

1.01.02.03

我需要在第二次出现'.0'后将数字加 1 :

1.01。02 .01

1.01。02 .02

1.01。03 .03

我正在使用 JavaScript。我已经尝试了一些东西,但我对正则表达式很困惑哈哈。


我一直在玩,分裂可能是这里的路,谢谢理查德。任何人碰巧知道字符串中的增量+101或者我需要分解字符串并将其转换为整数。第一的?

标签: javascriptregexstringcapture-group

解决方案


您可以使用此代码片段在以下步骤中完成这项工作:

  1. 拆分输入字符串.0
  2. 将第二个元素转换为整数并将其递增 1
  3. 将结果元素存储在数组中ret
  4. 再次加入retwith的元素.0并将新字符串保存在result数组中
  5. 最后显示result数组

代码:

const arr = ['1.01.01.01','1.01.01.02', '1.01.02.03'];
const delim = '.0';
var result = [];

arr.forEach(str => {
  ret = [];
  str.split(delim).forEach((el, i) => 
     ret.push(i==2 ? parseInt(el)+1 : el)
  );
  result.push(ret.join(delim));
});

console.log(result);


推荐阅读