如何使用正則表達式批量添加和刪除字元?

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-

推薦閱讀:

飲冰雜記&開篇
哪些作家對美食的描寫比較好?
公文寫作的劃時代革新,周三見!

TAG:计算机技术 | 科技 | 写作 |