前面幾節介紹通用式,以及如何利用通用式來比對及抽取特定字串,本節將介紹如何利用通用式來進行字串的代換,主要的指令是 regexprep。例如,若要將所有「b 和 t 中間至少夾一個母音」的字串代換為 xxx,可見下列範例:
另一個範例,則是將一列字串中,連續出現的多個空白字元,壓縮成一個空白字元,如下:
在使用 regexprep 進行字串代換的過程中, MATLAB 可以將小括弧比對到的子字串暫時儲存到變數 $1, $2, $3 等,以便於處理後再插回原字串,例如:
使用類似的方法,我們也可以將一個字串的前兩個英文字對調,如下:
在使用 regexprep 指令時,可以在第四個輸入變數輸入其他字串,以代表不同的代換方式。例如,‘ignorecase’ 代表可以進行「大小寫不分」的比對與代換,‘once’ 代表只代換第一個比對符合的字串,其他選項請查看 regexprep 的線上支援(在 MATLAB 輸入「doc regexprep」即可顯示線上支援)。
MATLAB程式設計:進階篇