雕虫小技-巧用notepad进行字符解析
- Notepad++的查找替换功能非常强大,其中扩展特性支持回车换行等,可用于进行一些字符格式置换,本文贡献一个案例。原文档是使用”-“ , “,” 两种字符分隔,内容均为数字的日志, 这是一种尽可能节省存储空间的日志保存方式,是以牺牲可读性为代价,需要专门的工具进行日志解析,本文中仅使用notepad++的查到替换功能将每个字段置换到独立的行。
原始文本
文本格式 说明 :
每个字段使用“-”分割;
连续2个“-”的代表这个字段是个负数;
出现“,”表明,该字段 包含多组数值。
目标: 将每个字段分解为独立的行。这样便于进行表格式的处理,即,增加一列字段名,达到可读性的目的。
#文本实例
79-720288-50,0--6343--1043--140-0,0-100-0-3333,0-0,0-0-0-0-0-2831-4-0-0-0-700-1500-1-3-10-2-4--94-5-0-0-0-0-0-0,2,32,460,1--4631,0-7657-48498-48498-723324-100-723324-2-0-1-0,-6343,-1043,2831-1,1-0-0-0-0-1
解析思路(可作为编程实现算法)
- 将连续2个“-”替换为“负-”;
- 将“,-”替换为“,负”
- 将“‘-”替换为“-\r\n”, 即遇到“-”就另起一行
- 将“\r\n\r\n”替换为”\r\n“, 即删除空行
实际操作
-
将连续2个“-”替换为“负-”;

结果如下:
79-720288-50,0- 负6343- 负1043- 负140-0,0-100-0-3333,0-0,0-0-0-0-0-2831-4-0-0-0-700-1500-1-3-10-2-4- 负94-5-0-0-0-0-0-0,2,32,460,1- 负4631,0-7657-48498-48498-723324-100-723324-2-0-1-0,-6343,-1043,2831-1,1-0-0-0-0-1 -
将“,-”替换为“,负”
79-720288-50,0- 负6343- 负1043- 负140-0,0-100-0-3333,0-0,0-0-0-0-0-2831-4-0-0-0-700-1500-1-3-10-2-4- 负94-5-0-0-0-0-0-0,2,32,460,1- 负4631,0-7657-48498-48498-723324-100-723324-2-0-1-0,负6343,负1043,2831-1,1-0-0-0-0-1 -
将“‘-”替换为“-\r\n”, 即遇到“-”就另起一行

-
将“\r\n\r\n”替换为”\r\n“, 即删除空行

-
最后再将负替换为“-”
79- 720288- 50,0- -6343- -1043- -140- 0,0- 100- 0- 3333,0- 0,0- 0- 0- 0- 0- 2831- 4- 0- 0- 0- 700- 1500- 1- 3- 10- 2- 4- -94- 5- 0- 0- 0- 0- 0- 0,2,32,460,1- -4631,0- 7657- 48498- 48498- 723324- 100- 723324- 2- 0- 1- 0,-6343,-1043,2831- 1,1- 0- 0- 0- 0- 1后续有空,再写个python代码来实现以上算法 。
2-
0-
1-
0,-6343,-1043,2831-
1,1-
0-
0-
0-
0-
1后续有空,再写个python代码来实现以上算法 。
The End.

1705

被折叠的 条评论
为什么被折叠?



