Regular replace blank lines: Difference between revisions
Jump to navigation
Jump to search
(Created page with "使用正規表示法 (Regular expression) 取代文字檔內的空白行 == 狀況1 == <pre> " abc " // 不是空白行 " " // 空白行: 行內包含一個或多個...") |
mNo edit summary |
||
| (24 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
使用正規表示法 ([[Regular expression]]) | 使用正規表示法 ([[Regular expression]]) ,刪除文字檔內的空白行 | ||
== | 名詞解釋 | ||
# 空白: (1) 不輸入任何字,即不包含任何字元 、也可能是指 (2) 空白字元。下文為了避免兩者混淆,狀況 (1) 標記為「空 (不需要輸入任何字)」、狀況 (2) 標記為「空白字元,可能是空白鍵 (SPACE) 或定位鍵 (TAB) ... ...」 | |||
# 空白字元: 空白鍵 (SPACE) 或定位鍵 (TAB) | |||
# 空白行: 該行行內可能包含一個或多個空白字元、或者行內不包含任何字元 | |||
== 資料狀況1 == | |||
資料狀況 | |||
<pre> | <pre> | ||
" abc " // 不是空白行 | " abc " // 不是空白行 | ||
" " // 空白行: | " " // 空白行 (1): 行內包含一個或多個空白字元,可能是空白鍵 (SPACE) 或定位鍵 (TAB) | ||
"" // 空白行: 行內不包含任何字元 | "" // 空白行 (2): 行內不包含任何字元 | ||
</pre> | </pre> | ||
使用工具: 適用 Sublime Text 與 EmEditor 軟體,需勾選「使用規則運算式」。{{exclaim}} | 預期目標: | ||
* 尋找: {{kbd | key=<nowiki>^[\s\t]*$\n</nowiki>}} | * 清除空白行 (1) 、空白行 (2) | ||
使用工具: 適用 Sublime Text 與 EmEditor 軟體,需勾選「使用規則運算式」。{{exclaim}} 語法不適用 Notepad++ 軟體<ref>[http://www.sitepoint.com/forums/showthread.php?448843-Regex-delete-multiple-blank-lines Regex: delete multiple blank lines]</ref> | |||
* 尋找: | |||
** {{Mac}} {{kbd | key=<nowiki>^[\s\t]*$\n</nowiki>}}、或 {{kbd | key=<nowiki>^\s*\n</nowiki>}} | |||
** {{Win}} {{kbd | key=<nowiki>^[\s\t]*$\r\n</nowiki>}}、或 {{kbd | key=<nowiki>^\s*\r\n</nowiki>}} | |||
* 取代為: 空 (不需要輸入任何字) | |||
使用工具: Notepad++ | 使用工具: Notepad++ | ||
* Notepad++ 軟體選單: 編輯 -> 行列 -> 移除空行(含空白字元)<ref>[http://stackoverflow.com/questions/3866034/removing-empty-lines-in-notepad regex - Removing empty lines in Notepad++ - Stack Overflow]</ref> | * Notepad++ 軟體選單: 編輯 -> 行列 -> 移除空行(含空白字元)<ref>[http://stackoverflow.com/questions/3866034/removing-empty-lines-in-notepad regex - Removing empty lines in Notepad++ - Stack Overflow]</ref> | ||
== | == 資料狀況2 == | ||
<pre> | <pre> | ||
" abc " // 不是空白行 | " abc " // 不是空白行 | ||
"" // 空白行: 行內不包含任何字元 | "" // 空白行 (2): 行內不包含任何字元 | ||
</pre> | </pre> | ||
預期目標 | |||
* 刪除空白行 (2) | |||
使用工具: 適用 Sublime Text | 使用工具: 適用 Sublime Text on {{Mac}},需勾選「使用規則運算式」。 {{exclaim}} 語法不適用 Notepad++ 軟體 | ||
* 尋找: {{kbd | key=<nowiki>^$\n</nowiki>}} --> 取代為: | * 尋找: {{kbd | key=<nowiki>^$\n</nowiki>}} --> 取代為: 空 (不需要輸入任何字) | ||
* 尋找: {{kbd | key=<nowiki>\n\n+</nowiki>}} --> 取代為: {{kbd | key=<nowiki>\n</nowiki>}} | * 尋找: {{kbd | key=<nowiki>\n\n+</nowiki>}} --> 取代為: {{kbd | key=<nowiki>\n</nowiki>}} | ||
使用工具: Notepad++ | 使用工具: EmEditor on {{Win}},需勾選「規則運算式」 | ||
* 尋找: {{kbd | key=<nowiki>^$\r\n</nowiki>}} --> 取代為: 空 (不需要輸入任何字) | |||
使用工具: Notepad++ on {{Win}},需勾選「用類型表式」 | |||
* 尋找: {{kbd | key=<nowiki>\r\n[\r\n]*</nowiki>}} 或 {{kbd | key=<nowiki>\r\n[\r\n]+</nowiki>}} --> 取代為: {{kbd | key=<nowiki>\r\n</nowiki>}} | * 尋找: {{kbd | key=<nowiki>\r\n[\r\n]*</nowiki>}} 或 {{kbd | key=<nowiki>\r\n[\r\n]+</nowiki>}} --> 取代為: {{kbd | key=<nowiki>\r\n</nowiki>}} | ||
| Line 31: | Line 49: | ||
* [http://www.ultraedit.com/support/tutorials_power_tips/ultraedit/remove_blank_lines.html Use regular expressions to remove blank lines in a text file] | * [http://www.ultraedit.com/support/tutorials_power_tips/ultraedit/remove_blank_lines.html Use regular expressions to remove blank lines in a text file] | ||
== References == | |||
<references/> | <references/> | ||
[[Category:Regular expression]] [[Category: | [[Category:Regular expression]] [[Category:Tool]] [[Category:Data Science]] [[Category: Data cleaning]] [[Category:String manipulation]] | ||
Latest revision as of 13:47, 4 May 2022
使用正規表示法 (Regular expression) ,刪除文字檔內的空白行
名詞解釋
- 空白: (1) 不輸入任何字,即不包含任何字元 、也可能是指 (2) 空白字元。下文為了避免兩者混淆,狀況 (1) 標記為「空 (不需要輸入任何字)」、狀況 (2) 標記為「空白字元,可能是空白鍵 (SPACE) 或定位鍵 (TAB) ... ...」
- 空白字元: 空白鍵 (SPACE) 或定位鍵 (TAB)
- 空白行: 該行行內可能包含一個或多個空白字元、或者行內不包含任何字元
資料狀況1[edit]
資料狀況
" abc " // 不是空白行 " " // 空白行 (1): 行內包含一個或多個空白字元,可能是空白鍵 (SPACE) 或定位鍵 (TAB) "" // 空白行 (2): 行內不包含任何字元
預期目標:
- 清除空白行 (1) 、空白行 (2)
使用工具: 適用 Sublime Text 與 EmEditor 軟體,需勾選「使用規則運算式」。
語法不適用 Notepad++ 軟體[1]
使用工具: Notepad++
- Notepad++ 軟體選單: 編輯 -> 行列 -> 移除空行(含空白字元)[2]
資料狀況2[edit]
" abc " // 不是空白行 "" // 空白行 (2): 行內不包含任何字元
預期目標
- 刪除空白行 (2)
使用工具: 適用 Sublime Text on macOS
,需勾選「使用規則運算式」。
語法不適用 Notepad++ 軟體
- 尋找: ^$\n --> 取代為: 空 (不需要輸入任何字)
- 尋找: \n\n+ --> 取代為: \n
使用工具: EmEditor on Win ,需勾選「規則運算式」
- 尋找: ^$\r\n --> 取代為: 空 (不需要輸入任何字)
使用工具: Notepad++ on Win ,需勾選「用類型表式」
- 尋找: \r\n[\r\n]* 或 \r\n[\r\n]+ --> 取代為: \r\n
使用工具: UltraEdit un-verified