如何从文本文件中删除特定范围的字符?

时间:2015-03-06 15:18:37

标签: csv text notepad++

我有一个txt文件(在记事本++中打开),格式为:

Name|Address|City|St|Zip|Off|Z|Contact|Telephone|800|Fax|Notes

我的问题是,当文件导出时,有多个页面,现在我有:

Page 1 of 134
Locations
3/3/2015
 |Name|Address|City|St|Zip|Off|Z|Contact|Telephone|800|Fax|Notes
整个文件中的

。我手动删除它们,这需要时间,我想知道是否有更简单的方法来做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用基于正则表达式的查找和替换操作。例如,正则表达式' ^ Locations $'将匹配以" Locations"开头和结尾的行。用空字符串替换各种正则表达式。

更简单的方法是,如果您可以访问unix" grep"实用程序,你可以通过它管道文件:

cat file.txt | grep -v '^Locations$' | grep -v '^Page [0-9]* of 134$' | grep -v '^[0-9]*/[0-9]*/[0-9]*$' > clean-file.txt

' -v' argument表示不显示任何与正则表达式匹配的行。

答案 1 :(得分:0)

Notepad ++可以进行正则表达式搜索/替换。 使用此搜索模式(确保检查正则表达式“单选按钮:

Page [0-9] +? [0-9] +?[\ r \ n \ s \ w \ d /] +?\ |

一无所获。