首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在文本文件中每隔6(N)行选择(删除)一次?

如何在文本文件中每隔6(N)行选择(删除)一次?
EN

Stack Overflow用户
提问于 2016-07-09 08:30:09
回答 2查看 9.6K关注 0票数 2

我需要重新格式化一个类似格式的日志文件,并且一直在使用Notepad++宏。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
[00:55:48] Profile Information:

[00:55:48] Name: Joe Bloggs

[00:55:48] Age: 21

[00:55:48] Profile Information:

[00:55:48] Name: Joe Bloggs 2

[00:55:48] Age: 22

我需要的格式是:

代码语言:javascript
代码运行次数:0
运行
复制
Joe Bloggs
21
Joe Bloggs 2
22

我可以通过宏中的以下操作来实现这一点,但这只能做到这一点。

删除时间戳[[^[]]*]

删除空行编辑>生产线工序>删除空行

将以下内容替换为无名称: Age:

然后我需要选择每一行,第二行,然后删除所有其他行,这样我就会得到一个每隔一行的列表-类似于:

代码语言:javascript
代码运行次数:0
运行
复制
21
22

希望更熟悉正则表达式的人能提供一些提示和建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-09 09:38:15

我不知道你要的是什么。你的标题是关于在文本文件中每隔7行选择一次,但你的示例与此无关。

不管怎样,我猜你想用notepad++选择文本文件中的每7行。

你可以这样做:

  1. 删除空行:编辑>行操作>删除空行
  2. 带有搜索和替换功能(在正则表达式模式下)您可以使用以下表达式:

代码语言:javascript
代码运行次数:0
运行
复制
- Search: `([^\n]*\n?){7}`
- Replace: `$1`

如果你想再加第n行,只需替换花括号之间的数字即可。

票数 7
EN

Stack Overflow用户

发布于 2016-07-09 09:17:58

您可以在notepad++中使用ctrl-f进行查找和替换,并输入以下正则表达式:

代码语言:javascript
代码运行次数:0
运行
复制
\[[0-9][0-9]:[0-9][0-9]:[0-9][0-9]] Profile Information:
\[[0-9][0-9]:[0-9][0-9]:[0-9][0-9]]

第一行替换为"Profile Information",第二行替换为所有时间戳。

你可以找到关于正则表达式的信息here。另外,我推荐这个cheetsheet,它有很大的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38277106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档