从 Excel 粘贴数据后,如何删除 Notepad++ 中的空行?

Sam*_*mir 8 notepad++ text-editors

我想清理一些从 Excel 电子表格复制的数据,并使用 Notepad++ 清除任何格式。我想利用 Notepad++ 的行号来计算我拥有的行数。即:Excel 中实际数据的行数。

Excel导出数据的原因

电子表格的每一行都是它自己的行号。它由 Excel 中左边距中的数字表示。所以我可以看看它并弄清楚。

也就是说,如果它看起来像这样:

  A    B
1 #### something
2 #### something
3 #### something
4 #### something
5 #### something
6 #### something
Run Code Online (Sandbox Code Playgroud)

但如果它看起来像这样......

  A    B
1 #### something
2 #### something
3 
4 #### something
5 
6 #### something
Run Code Online (Sandbox Code Playgroud)

...而且列表很长,那么很难说这个列表中有多少行/行。我将不得不沿着列表向下并直观地计算行数。我的意思是我知道 Word 可以选择告诉您文档中有多少行或字数。但我不确定 Excel 中是否有这样的东西。

而且我不知道您是否可以在 Excel 中对此做任何事情,即告诉它删除没有任何数据的单元格行并将单元格行彼此相邻(顶部/底部)移动。如果你知道一种方法,请分享它。但我认为 Notepad++ 是处理这样的文本数据的好工具。

我在记事本++中遇到的问题

我基本上想删除额外的换行符。这就是它的样子。

Line 01:something
Line 02:something
Line 03:something
Line 05:
Line 06:
Line 07:something
Line 08:something
Line 09:
Line 10:
Line 11:
Line 12:
Line 13:something
Run Code Online (Sandbox Code Playgroud)

我想删除第 5、6、9、10、11 和 12 行。

我试过的

  • TextFX 编辑:我尝试了“编辑”菜单中的“删除空白行”选项。没用。*1
  • 替换:我尝试在查找中输入\n\r而在替换字段中没有输入。“发现0次出现” *2
  • 替换:我尝试在查找中输入\r\n而在替换字段中没有输入。“402 次出现被替换”但它把所有内容都放在了一条线上。像这样:某事某事
  • 编辑菜单:我尝试从编辑菜单中删除空行。*3
  • 编辑菜单:我尝试从编辑菜单加入行。

那还有什么?...我还能尝试什么?

这是我追求的结果:

Line 01:something
Line 02:something
Line 03:something
Line 07:something
Line 08:something
Line 13:something
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

更新

****1, 2, 3** = 这三种方法应该有效。我已经测试并验证了每一个。另外两个没有也不应该。他们有不同的目的。*

好的,我想我现在知道为什么这不起作用了。我正在处理的文本从 Excel 2010 复制并粘贴到 Notepad++ 中,其中有一些额外的字符会丢弃这些命令。有一些制表符和 CF 或 LF 字符。

这是对我所拥有的更详细的描述。

Line 01:####[tab]something[CR][LF]
Line 02:####[tab]something[CR][LF]
Line 03:####[tab]something[CR][LF]
Line 05:[tab][CR][LF]
Line 06:[tab][CR][LF]
Line 07:####[tab]something[CR][LF]
Line 08:####[tab]something[CR][LF]
Line 09:[tab][CR][LF]
Line 10:[tab][CR][LF]
Line 11:[tab][CR][LF]
Line 12:[tab][CR][LF]
Line 13:####[tab]something
Run Code Online (Sandbox Code Playgroud)

在哪里...

  • = 4 位数字
  • [标签] = 标签
  • [CR] = 回车
  • [LF] = 换行

那你怎么处理这个?...

Ric*_*cas 8

更新后的另一个反应...

如果文本采用这种格式,您应该能够使用以下内容进行查找和替换:

先将Notepad++中的搜索模式设置为“扩展”。

将“查找内容”设置为“\t\r\n”并将“替换为”留空。

这应该搜索并替换上面文本中的模式 TAB CR LF。

  • @Sammy 由于正则表达式不是 Notepad++ 特有的,你可以在任何地方学习它([regexone.com](http://regexone.com/) 似乎是一个不错的起点)。您还应该看看什么样的正则表达式 [Notepad++ 实际支持](http://sourceforge.net/apps/mediawiki/notepad-plus/?title=Regular_Expressions)。 (2认同)

zak*_*ter 7

您可以使用 的Regular Expression模式Search->Replace来执行此操作:

您的空行可以用\s*\R新行后面的正则表达式来描述\R,因此您可以使用以下替换:

Find what : "(\R)(\s*\R)+"
Replace with : "\1"
Run Code Online (Sandbox Code Playgroud)

\R是通用换行符,它相当于\r\n(Windows)、\n(Unix) 或\r(Mac),具体取决于当前的换行符格式。

\s是任何间距字符,它等价于[[:space:]][ \t\n\r\f\v]