如何使用正則表達式批量添加和刪除字元?
Foreword
作為一枚 Technical Writer,在使用 Markdown 進行技術寫作的過程中,常常會遇到需要批量添加字元或刪除字元的情況。如果只是幾個還好說,當幾十甚至上百個時,那就絕望了,瞬間石化成呆若木雞的機器人。
此時,如果使用正則表達式,則可以簡化工作,極大地提高工作效率。
如果你還不熟悉 Markdown,沒關係,可以先花幾分鐘去看下Markdown:寫技術文檔、個人博客和讀書筆記都很好用的輕量級標記語言和如何為 Markdown 文件自動生成目錄?這兩篇文章,後面這篇里有講到我在下文中使用的工具 Visual Studio Code (VS Code)。
下面分享一下我在工作中遇到的兩種情況,以及如何使用正則表達式輕而易舉地批量處理。
1. 批量添加字元
場景描述
在統一 Markdown 文件的表格格式時,有個文件的表格沒加左右豎線,為了保持全局統一,需要給這個表格加上左右豎線。當然啦,Markdown 語法也支持不加左右豎線。
待處理的表格有 113 行,每行都加兩個豎線的話,手工操作至少按鍵 226 次,太可怕。先來直觀地感受下這個 113 行的表格:
處理步驟
1. 為每行最左側添加豎線。
使用 VS Code 的查找替換功能:
1)在查找框里輸入 "^",即選中所有行的開頭。
2)在替換框里輸入豎線和一個空格 "| "。
3)單擊全部替換按鈕。
可以看到所有行的最左側已變成豎線加一個空格。
2. 為每行最右側添加豎線。
1)在查找框里輸入 "$",即選中所有行的末尾。
2)在替換框里輸入一個空格和豎線 " |"。
3)單擊全部替換按鈕,完成。
可以看到所有行的最右側已變成一個空格加豎線。
2. 批量刪除字元
場景描述
有一個講操作符的 Markdown 文件裡面,給表格中的所有操作符都加了 Markdown 裡面的行內代碼格式,即 ``(例如:=
應改為 = )。但是,這裡不需要的,要去掉。整個文檔共計 122 行,而幾個操作符的表格佔了絕大部分。
手工刪除,感覺要刪到地老天荒……咦,貌似有點兒誇張了……感受一下:
處理步驟
1. 刪除操作符左側的 "`" 字元。
使用 VS Code 的查找替換功能:
1)在查找框里輸入 "[`",選中需要替換的左側字元。
2)在替換框里輸入 "[" 字元。
3)單擊全部替換按鈕。
2. 刪除操作符右側的 "`" 字元。
1)在查找框里輸入 "`]",選中需要替換的右側字元。
2)在替換框里輸入 "]" 字元。
3)單擊全部替換按鈕。
3. 刪除兩個操作符之間的 "`" 字元,包括前面操作符的右側和後面操作符的左側。
有兩個操作符在一起,中間用逗號隔開的情況,處理方式類似:
1)將 "`," 全部替換為 ",";
2)將 " `"(前有一個空格)全部替換為 " "(一個空格)。
4. 手動排查處理。刪除未在上述範圍內的,添加誤刪的。
Afterword
有沒有感覺世界都美好了?
正則表達式是一種無比強大的工具,巧妙利用可以極大地節省時間、提高工作效率。下面這本書可以系統地入門學習:
一起探索奇妙新世界吧!
你可能想讀:
如何讓你的內容輸出更加專業更有設計感?書單 | 有哪些技術傳播從業者必知必看的書籍?
有哪些適合技術傳播從業者關注的優質博客?
Markdown:寫技術文檔、個人博客和讀書筆記都很好用的輕量級標記語言
如何為 Markdown 文件自動生成目錄?
技術寫作實例解析 | 簡潔即是美
兩分鐘趣味解讀 Technical Writer
若脫離理解,直譯得再正確又有何意?
優質譯文不應止於正確,還要 Well-Organized
寫在入職技術型創業公司 PingCAP 一個月之後
-END-
推薦閱讀: