在大型文件++的记事本中查找并替换

时间:2015-09-30 10:57:29

标签: regex notepad++

我有一个包含9000行的XML文件。

每个XML节点中都有大约10个属性。

其中一个属性是:

<CreatedDate>2009-10-26T02:39:24</CreatedDate>

我需要做的是将DateTime的格式更改为:

<CreatedDate>27/05/2010 07:30:16</CreatedDate>

但我不知道该怎么做。

我知道我可以编写一个正则表达式来识别需要替换的每个值,但是如何才能使它只改变我想要的值并保持其余的值呢?

我考虑过编写一个宏,但是文档太大了,无法以我可以预测我想要改变的元素的方式进行格式化,并且搜索某些内容似乎不适用于宏。

有什么想法吗? - 我相信它可以做到。

2 个答案:

答案 0 :(得分:2)

如果您只想在<CreatedDate>标签内更改日期时间格式,请尝试使用Notepad ++中的正则表达式替换:

替换它:

<CreatedDate>(\d{4})\-(\d{2})\-(\d{2})T([\d\:]*)</CreatedDate>

有了这个:

<CreatedDate>$3/$2/$1 $4</CreatedDate>

我们使用$符号及其位置来引用每个括号,因此我们可以在替换结果中使用这些值。

答案 1 :(得分:2)

查找

 <CreatedDate>(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)</CreatedDate>

替换:

  <CreatedDate>\3/\2/\1 \4:\5:\6</CreatedDate>

\ d匹配数字。 并且大括号创建一个您引用的组,例如\ 1