应用正则表达式完成 Excel 按行合并保留所有内容

来源:互联网 发布:通晓知行 佟瑞 编辑:程序博客网 时间:2024/05/17 04:00

今天由于师兄需要,在网页上爬下来大量的数据(大概5000行),结构如下图所示


他需要将每一行的数据除了ID之外的内容合并到一个单元格内。而excel自带的合并功能在合并一行的时候只保留左上单元格的内容,要想完成一行的合并就要复制粘贴好几次,况且有5000行。

虽然知道excel有使用vba提高效率的功能,但是由于对vb不熟悉,在网上也没找到正好适合于这种情况的代码,也可以通过写一个小程序来完成,但也麻烦。

因为在我们的项目中涉及到了正则表达式的使用,想了一下,便动手在NotePad++中使用正则表达式的查找替换功能达到了目的。方法如下:

1,所有内容复制粘贴到notepad++中。菜单  搜索->替换,调出查找替换功能。查找模式设置为正则表达式。

2,相邻单元格之间都是制表符间隔,将所有的制表符去掉。如下图

3,将ID与后面的字符串用制表符分离开,在查找目标中输入:([0-9][0-9],[0-9][0-9][0-9],[0-9][0-9][0-9],[0-9][0-9][0-9]),在替换为中输入:\1\t,具体含义,去学学正则表达式的用法就知道了,选择全部替换就ok了!

4,全选复制粘贴回excel中,大功告成。



其实,可以精简其中很多步,从excel中只剪切需要的ID后的部分所有的内容粘贴到notepad++中,用替换功能所有制表符中,贴回Excel中,同样的效果。