SheepDev

文字與正規表示式

逗號清單分列後空項還在嗎?

使用工具

把 alpha,beta,gamma 放進逐行輸入,或把多行合成設定值,看似簡單,卻受連續分隔符、末尾分隔符與周圍空白影響。先用短清單往返,再套用長清單。

區分分割符與連接符

三項輸入
alpha,beta,gamma

選擇分割、逗號分隔、換行連接,結果為三行。只把連接符改為『 | 』就得到 alpha | beta | gamma。輸入分割符識別邊界,輸出連接符決定表示。

反斜線加 n 兩個字元不同於實際換行。使用文字序列 \n 時需啟用逸出解釋。輸出看見 \n 時先檢查設定;\t 與實際定位字元同理。

連續逗號之間存在空項

含空項的輸入
alpha,,gamma,

共有四項:alpha、空、gamma、空。設前綴 [、後綴 ]、連接符『 | 』可見 [alpha] | [] | [gamma] | []。顯示為空不等於無用,刪除會改變位置對應。

若允許刪空項,應作為單獨整理規則並記錄刪除前數量。用於觀察的括號不是原資料,需判斷目標格式是否需要,別誤把診斷裝飾傳給下游。

移除首尾空白會改變值

觀察首尾空白的輸入
 alpha , beta ,gamma 

啟用修剪得到 alpha、beta、gamma,關閉則保留周圍空白。是否正確取決於用途:標籤整理可能需要,固定寬度或空白敏感鍵則會被改值。用 [ alpha ] 等包裹可觀察。

被刪除的空白無法靠合併恢復。修剪或加包裹後分割合併不再可逆。精確往返測試應保留空白、不添加字元並重新使用原分隔符。

分割符不是正規表示式或 CSV 語法

引號內含逗號的範例
alpha,"beta,gamma",delta

字面逗號分割也會切開引號裡的逗號,工具不解釋 CSV 引號。帶引用地址或備註應使用 CSV 編輯器。含逗號清單與 CSV 文件不一定遵循同一文法。

寫 \s+ 不代表空白正規表示式。模式處理需另用正規表示式測試等流程。如果值也能含分割符,就必須有逸出或引用約定才能恢復原項,不能靠猜測。

合併前檢查最後的空白行

合併模式把每行當項目,三行變 alpha,beta,gamma,但末尾換行可能產生空項與尾逗號。應先判斷是貼上附帶格式還是有意義的資料。

只加引號前綴不能安全產生含引號或 NULL 的 SQL,應使用 SQL IN 產生器。包裹也不能替代 JSON 逸出。此工具執行文字操作,不驗證目標文法,有格式要求應使用對應工具。

處理長清單前先測試普通項、空項、空白與末尾換行,明確保留與刪除規則。把易讀性與資訊保留分開驗證,交付時核對數量及首末項。

參考資料

使用工具

指南 →