15,076
edits
m (→如何取代換行符號) |
m (→如何尋找與取代換行符號) |
||
| (23 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
如何看到換行符號、如何從文章中取代換行符號 (英文:'''Return symbol''', line terminators, line endings, newline, end of line (EOL), line feed (LF) or line break)。 | |||
* On {{Win}}: {{kbd | key=<nowiki>CRLF</nowiki>}} = {{kbd | key=<nowiki>\r\n</nowiki>}} | * On {{Win}}: {{kbd | key=<nowiki>CRLF</nowiki>}} = {{kbd | key=<nowiki>\r\n</nowiki>}} | ||
* On Unix, {{Linux}} & recent versions of {{Mac}}: {{kbd | key=<nowiki>LF</nowiki>}} = {{kbd | key=<nowiki>\n</nowiki>}} | * On Unix, {{Linux}} & recent versions of {{Mac}}: {{kbd | key=<nowiki>LF</nowiki>}} = {{kbd | key=<nowiki>\n</nowiki>}} | ||
| Line 100: | Line 100: | ||
</table> | </table> | ||
== | == 計算換行符號的數量 == | ||
<pre> | |||
## 計算 \n (不包含 \r\n) 換行符號的數量 | |||
% perl -ne '$count++ if /[^\r]\n/; END{print "純 LF 數量: $count\n"}' YOUR_FILE.txt | |||
## 計算 \r\n 換行符號的數量 | |||
% perl -ne '$count++ if /\r\n/; END{print "CRLF 數量: $count\n"}' YOUR_FILE.txt | |||
</pre> | |||
== 如何尋找與取代換行符號 == | |||
=== 文字編輯軟體如何取代換行符號 === | |||
* 支援 [[Regular expression]] 的文字編輯軟體,例: [[Regular expression#將Email清單,轉成Email軟體可以使用的寄信名單 (取代換行符號為逗號) | 將Email清單,轉成Email軟體可以使用的寄信名單 (取代換行符號為逗號)]] | * 支援 [[Regular expression]] 的文字編輯軟體,例: [[Regular expression#將Email清單,轉成Email軟體可以使用的寄信名單 (取代換行符號為逗號) | 將Email清單,轉成Email軟體可以使用的寄信名單 (取代換行符號為逗號)]] | ||
* Python | === MySQL 如何尋找換行符號 === | ||
<pre> | |||
SELECT content, | |||
CASE | |||
WHEN content LIKE CONCAT('%', CHAR(13), CHAR(10), '%') THEN 'CRLF (\\r\\n)' | |||
WHEN content LIKE CONCAT('%', CHAR(10), '%') THEN 'LF (\\n)' | |||
WHEN content LIKE CONCAT('%', CHAR(13), '%') THEN 'CR (\\r)' | |||
ELSE 'No newlines' | |||
END as newline_type | |||
FROM my_table | |||
WHERE content REGEXP CONCAT('[', CHAR(10), CHAR(13), ']'); | |||
</pre> | |||
=== MySQL 如何取代換行符號 === | |||
<ref> [https://stackoverflow.com/questions/13273343/replace-new-line-character-in-mysql-not-working sql - REPLACE new line character in MYSql not working - Stack Overflow] </ref><ref>[https://stackoverflow.com/questions/28368785/mysql-trim-both-whitespace-and-newline-characters MySQL: trim *both* whitespace and newline characters - Stack Overflow]</ref> | |||
<pre> | |||
UPDATE my_table | |||
SET content = REPLACE( | |||
REPLACE( | |||
REPLACE(content, CONCAT(CHAR(13), CHAR(10)), ''), | |||
CHAR(10), '' | |||
), | |||
CHAR(13), '' | |||
) | |||
WHERE content REGEXP CONCAT('[', CHAR(10), CHAR(13), ']'); | |||
-- or | |||
UPDATE my_table | |||
SET `content` = REPLACE(REPLACE(REPLACE(`my_table`,'\r\n',''),'\n',''),'\r','') | |||
; | |||
</pre> | |||
=== Excel 或 Google Sheet 如何尋找換行符號 === | |||
判斷是哪種換行符號: | |||
<pre> | |||
=IF(ISNUMBER(SEARCH(CHAR(13)&CHAR(10), A1)), "CRLF (\r\n)", | |||
IF(ISNUMBER(SEARCH(CHAR(13), A1)), "CR (\r)", | |||
IF(ISNUMBER(SEARCH(CHAR(10), A1)), "LF (\n)", | |||
"無換行符號"))) | |||
</pre> | |||
=== Excel 或 Google Sheet 如何取代換行符號 === | |||
For Microsoft Excel or Google Sheet | |||
* {{kbd | key=<nowiki>=CLEAN(A1)</nowiki>}} Use the CLEAN function to "remove the first 32 nonprinting characters in the 7-bit ASCII code (values 0 through 31) from the text"<ref>[https://support.microsoft.com/en-us/office/clean-function-26f3d7c5-475f-4a9c-90e5-4b8ba987ba41 CLEAN function]</ref>. Meanwhile, the return symbol will be removed from the text. | |||
* {{kbd | key=<nowiki>=TRIM(SUBSTITUTE(SUBSTITUTE(A1, CHAR(13),""), CHAR(10),", ")</nowiki>}} replace the return symbols with spaces in the cell located at {{kbd | key=A1}} <ref>[https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/ 3 ways to remove carriage returns in Excel: formulas, VBA macro, find&replace dialog] {{access | date = 2018-05-24}}</ref><ref>[https://en.wikipedia.org/wiki/ASCII ASCII - Wikipedia]</ref>. | |||
函數說明 | |||
* {{kbd | key=CONCAT(CHAR(13), CHAR(10))}} means "CRLF"({{kbd | key=<nowiki>\r\n</nowiki>}}) Windows 標準換行符號 | |||
* {{kbd | key=CHAR(13)}} means "Carriage return"(CR, {{kbd | key=<nowiki>\r</nowiki>}}) 舊版 Mac 換行符號 | |||
* {{kbd | key=CHAR(10)}} means "Line feed" (LF, {{kbd | key=<nowiki>\n</nowiki>}}) Unix/Linux 換行符號 | |||
For Google Sheet | |||
* {{kbd | key=<nowiki>=REGEXREPLACE(A1, "[\r\n]+", " ")</nowiki>}} replaces return symbols with spaces in cell {{kbd | key=A1}} in Google Sheets | |||
函數說明 | |||
* {{kbd | key=<nowiki>[\r\n]</nowiki>}} 符合任意類型的換行符號 | |||
* {{kbd | key=<nowiki>[\r\n]+</nowiki>}} 符合任意類型的換行符號,出現一次或連續出現 | |||
=== Python 如何取代換行符號 === | |||
* [https://stackoverflow.com/questions/275018/how-can-i-remove-a-trailing-newline-in-python How can I remove a trailing newline in Python? - Stack Overflow] {{access | date = 2019-06-14}} | |||
== Related articles == | == Related articles == | ||
* [https://en.wikipedia.org/wiki/Carriage_return Carriage return - Wikipedia] | * [https://en.wikipedia.org/wiki/Carriage_return Carriage return - Wikipedia] | ||
* [https://en.wikipedia.org/wiki/Newline Newline - Wikipedia] | |||
* [https://zh.wikipedia.org/zh-tw/%E6%8F%9B%E8%A1%8C 換行 - 维基百科,自由的百科全书] | * [https://zh.wikipedia.org/zh-tw/%E6%8F%9B%E8%A1%8C 換行 - 维基百科,自由的百科全书] | ||
* [https://zh.wikipedia.org/wiki/%E5%9B%9E%E8%BB%8A%E9%8D%B5 回車鍵 - 維基百科,自由的百科全書] | * [https://zh.wikipedia.org/wiki/%E5%9B%9E%E8%BB%8A%E9%8D%B5 回車鍵 - 維基百科,自由的百科全書] | ||
| Line 117: | Line 190: | ||
* [https://confluence.qps.nl/fledermaus/questions-answers/other/differences-in-end-of-line-characters-mac-windows-and-linux Differences in end of line characters Mac, Windows, and Linux] | * [https://confluence.qps.nl/fledermaus/questions-answers/other/differences-in-end-of-line-characters-mac-windows-and-linux Differences in end of line characters Mac, Windows, and Linux] | ||
* [https://stackoverflow.com/questions/3059091/how-to-remove-carriage-returns-from-output-of-string php - How to remove carriage returns from output of string? - Stack Overflow] | * [https://stackoverflow.com/questions/3059091/how-to-remove-carriage-returns-from-output-of-string php - How to remove carriage returns from output of string? - Stack Overflow] | ||
* Url encoding of {{kbd | key=<nowiki>\r\n</nowiki>}} is {{kbd | key=<nowiki>%0D%0A</nowiki>}}. More details on [https://www.w3schools.com/tags/ref_urlencode.asp HTML URL Encoding Reference] | |||
References | == References == | ||
<references /> | <references /> | ||
[[Category:Programming]] [[Category:Data Science]] [[Category:String manipulation]] | [[Category: Programming]] | ||
[[Category: Data Science]] | |||
[[Category: String manipulation]] | |||
[[Category: Revised with LLMs]] | |||