![从 Excel 粘贴数据后,如何在 Notepad++ 中删除空行?](https://linux22.com/image/1367518/%E4%BB%8E%20Excel%20%E7%B2%98%E8%B4%B4%E6%95%B0%E6%8D%AE%E5%90%8E%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%20Notepad%2B%2B%20%E4%B8%AD%E5%88%A0%E9%99%A4%E7%A9%BA%E8%A1%8C%EF%BC%9F.png)
我想清理从 Excel 电子表格中复制的一些数据,并使用 Notepad++ 清除所有格式。我想利用 Notepad++ 的行号功能来计算行数。即:Excel 中包含实际数据的行数。
从 Excel 导出数据的原因
电子表格的每一行都有自己的行号。它由 Excel 左边距中的数字表示。所以我可以查看并弄清楚。
也就是说,如果它看起来像这样:
A B
1 #### something
2 #### something
3 #### something
4 #### something
5 #### something
6 #### something
但如果它看起来像这样......
A B
1 #### something
2 #### something
3
4 #### something
5
6 #### something
... 列表很长,那么很难说出这个列表中有多少行。我必须逐行查看列表并目测行数。我的意思是,我知道 Word 有选项可以告诉您文档中有多少行或单词。但我不确定 Excel 中是否有这样的功能。
我不知道您是否可以在 Excel 中对此采取任何措施,即告诉它删除没有任何数据的单元格行并将单元格行彼此相邻移动(顶部/底部)。如果您知道方法,请分享。但我认为 Notepad++ 是处理此类文本数据的绝佳工具。
我在 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
我想删除第 5、6、9、10、11 和 12 行。
我尝试过
- TextFX 编辑:我尝试了“编辑”菜单中的“删除空白行”选项。没有用。*1
- 替换:我尝试输入\n\r在查找中,替换字段中没有任何内容。“发现 0 个出现项”*2
- 替换:我尝试输入\r\n在 find 中,而在 replace 字段中没有任何内容。“402 个发生项被替换”但它将所有内容放在一行上。像这样:something something something something
- 编辑菜单:我尝试从编辑菜单中删除空行。*3
- 编辑菜单:我尝试从编辑菜单中加入线路。
那么还有什么?...我还能尝试什么?
这就是我想要的结果:
Line 01:something
Line 02:something
Line 03:something
Line 07:something
Line 08:something
Line 13:something
我怎样才能实现这个目标?
更新
****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
在哪里...
- = 4 位数字
- [tab] = 制表符
- [CR] = 回车
- [LF] = 换行
那么您如何处理这个问题?
答案1
更新后的另一个回应...
如果文本是这种格式,您应该能够使用以下命令进行查找和替换:
首先将Notepad++中的搜索模式设置为“扩展”。
将“查找内容”设置为“\t\r\n”,并将“替换为”留空。
这应该搜索并替换如上文中的 TAB CR LF 模式。
答案2
您可以使用Regular Expression
的模式Search->Replace
来执行此操作:
\s*\R
您的空行可以用新行后面的正则表达式来描述\R
,因此您可以使用以下替换:
Find what : "(\R)(\s*\R)+"
Replace with : "\1"
\R
是通用换行符,它相当于\r\n
(Windows)、\n
(Unix) 或\r
(Mac),具体取决于当前的换行符格式。
\s
是任意空格字符,它相当于[[:space:]]
或[ \t\n\r\f\v]
答案3
在 Excel(我使用的是 2010)中,您可以选择并删除空白行:
选择数据范围
在“主页”选项卡下,转到“查找和选择”,然后选择“转到特殊
在选项窗口中选择空白。这将选择数据范围内的所有空白单元格。右键单击空白单元格并选择删除,然后选择向上移动单元格
完毕
答案4
对于 Notepad++ 来说,迄今为止处理这种情况的最简单方法是使用内置函数:
编辑 > 行操作 > 删除空行(包含空白字符)
@Sammy 说他尝试了紧接着上面的选项(“删除空行”),但您需要选择包含空白字符(例如 Tab 和 Space)的行。
我喜欢 Notepad++ 的查找/替换功能,但这个内置功能更简单。