本刊2008年第2期题目2挑战任务是如何将20070406日期改为2007-04-06。这题目用Office本身的功能就可以实现,只是应该还有很多朋友不知道如何实现而已。
1.针对DOC和TXT文件中的日期进行转换
用Word打开此DOC或TXT文件,然后,按快捷键Ctrl+H打开“查找和替换”对话框,单击“高级”,勾选“使用通配符”,在“查找内容”中填写“([0-9]{4})([0-9]{2})([0-9]{2})”(在半角状态下输入),在“替换内容”处填写“1-2-3”,可将搜索选项中的范围设置为“全部”(见***1),然后,单击“替换”或“全部替换”即可将20070406样式的日期统一替换成2007-04-06。
***1
对于其他的日期样式的替换方法,可以参考下表的日期样式
上文中([0-9]{4})([0-9]{2})([0-9]{2})的含义是:此表达式分为3个部分,以每对小括号作分隔,即:([0-9]{4})、([0-9]{2})和([0-9]{2})。
在各段表达式中,[0-9]表示从0到9数字,{4}和{2}表示长度为4位或2位。因此([0-9]{4})表示4位长度的年份,([0-9]{2})表示2位长度的月份,([0-9]{2})表示2位长度的日期。在年月日之间可用“-”、“.”或汉字作分隔,以适应不同的日期样式。在“替换内容”的“1-2-3”中的1、2、3分别代表上述表达式中的年、月和日部分,而年、月、日各部分之间用“-”作分隔。
查找替换日期样式一览表
需替换样式 替换后样式
查找内容(Word中)
替换内容(Word中)
1 2007-04-06 2007.04.06
([0-9]{4})-([0-9]{2})-([0-9]{2}) 1.2.3
2 2007-04-06 2007年04月06日 ([0-9]{4})-([0-9]{2})-([0-9]{2}) 1年2月3日
3 20070406
2007.04.06
([0-9]{4})([0-9]{2})([0-9]{2})
1.2.3
4 20070406
2007-04-06
([0-9]{4})([0-9]{2})([0-9]{2})
1-2-3
2.对XLS文件中的日期进行转换
处理包含日期样式的XLS文件的方法有别于上述方法,需要使用“条件格式”替换指定单元格的日期。
用Excel打开XLS文件,按快捷键Ctrl+H,单击“选项”,点击“查找内容”后的“格式从单元格选择格式...”(见***2),再选择需要替换日期样式的单元格,如B1,接着选择“替换为”后的“格式格式...”。在弹出窗口“分类”项下选择“日期”,从右侧的“类型”列表中选择需要的日期模式(见***3),“全部替换”就可以了。
***2
***3
若在“类型”列表中没有所需的日期样式,可在“分类”中选择“自定义”,再添加自定义日期样式