Notepad ++ Regex - 替换日期中的空格

时间:2015-01-17 06:04:56

标签: regex notepad++

我有一个来自旧计算机系统的大型导出文件。对于所有单个数字日或月份,导出的日期为[space]而不是0

1/ 1/2015(日/月/日)

第一个空间不是问题,但第二个空间是。

我尝试搜索并替换/[space],但这会替换数据文件中出现的/[space] - 不仅仅是日期。

我还尝试使用正则表达式查找和替换如下:

查找:/ [0-9]/[0-9]+

替换:/0[0-9]/[0-9]+

预期的出现应该是:

原文:1/ 1/2015

新:1/01/2015

但是我得到了:

实际:1/0[0-9]/[0-9]+


甚至可以在Notepad ++中使用,还是必须使用MS Excel?

由于

3 个答案:

答案 0 :(得分:1)

查找: (\b\d{1,2}/) +(\d{1,2})(?=/\d{4}\b)

替换: \1\2

DEMO

答案 1 :(得分:0)

你可以尝试一无所有地替换(?<=/) (?=[0-9]/[0-9]+)(或者如果你想要填充单个数字日期,则为0)?在Sublime中工作,尚未测试过NP ++。

答案 2 :(得分:0)

试试这个,在我的编辑器中完美运行。

查找内容:#include <stdlib.h> #include <stdio.h> #include <string.h> int main(void) { char *list[] = { "boba", "dada", "zapa", "cobb", "acdc", "abba" }; int list_len = sizeof(list) / sizeof(char*); qsort(&list[0], list_len, sizeof(char*), qs_strcmp); for (int i = 0; i < list_len; ++i) { printf("%s\n", list[i]); } return 0; }
替换为:(\d/)\s(\d/\d{4})

正则表达式和输出的解释可以在下图中找到。 enter image description here