-1

我有一个大型 CSV 文件,其中有一些需要转换为 mm/dd/yyyy 的 mm/dd/yy 日期。

例如。“02/23/19”需要是“02/23/2019”

我最初的想法是用 /2019 查找/替换 /19。问题是我不想替换其他符合搜索条件的字段,例如“WELD STUD 5/8 X 6 9/16”。

有没有办法进行正则表达式搜索,需要前导 /##/ 后跟 19,然后只用 2019 替换 19?

4

2 回答 2

1

由于您使用的是 EmEditor,因此您可以使用正则表达式和JavaScript 替换表达式在替换对话框中编写代码。此示例将年份限制为 2000 年至 2020 年:

寻找: (?<!\d)(\d\d)/(\d\d)/(\d\d)(?!\d)

用。。。来代替: \J if( \1 >= 1 && \1 <= 12 && \2 >= 1 && \2 <= 31 && \3>= 0 && \3 <= 20){ "\1/\2/20\3";} else { "\0"; }

EmEditor 替换对话框

于 2020-05-06T20:57:56.823 回答
1

使用这个正则表达式会将第一部分作为一个组,将年份作为第二个。然后,您可以使用该组将数据复制到另一种格式。

((?:\d{2}\/){2})(\d{2})

我通常会这样做(替换为 group )。

$120$2

您可以在此 regex101.com上测试更多案例

于 2019-12-28T20:24:23.520 回答