(轉載)Lua的string.gsub函式的使用方法
阿新 • • 發佈:2022-05-15
Lua的string.gsub函式的使用方法
函式:ret = string.gsub( s, pattern, rep1[, n] );
引數 | 介紹 |
---|---|
s | 源物件,需要操作的物件 |
pattern | 模式串,操作物件中包含的元素 |
rep1 | 替換串,將s中包含的pattern替換成rep1 |
n | 替換次數,從左到右開始,省略表示全替換 |
ret | 返回值,返回替換後的結果 |
1. 當引數n省略,源物件包含的所有模式串都轉換成替換串
ret = string.gsub("abcdefghijklmnabc", "a", "520"); print("ret: ", ret);
ret: 520bcdefghijklmn520bc
2. 當引數n為1時,源物件包含的第一個(從左到右)模式串被替換串替換
ret = string.gsub("abcdefghijklmnabc", "a", "520", 1); print("ret: ", ret);
ret: 520bcdefghijklmnabc
3. 當引數n為2時,源物件包含的前面兩個(從左到右)模式串被替換串替換
ret = string.gsub("abcdefghijklmnabc", "a", "520", 2); print("ret: ", ret);
ret: 520bcdefghijklmn520bc
PS:
模式串可以用正則表示式表示
符號 | 說明 |
---|---|
. | 任意字元 |
%a | 字母 |
%c | 控制字元 |
%d | 數字 |
%l | 小寫字母 |
%p | 標點字元 |
%s | 空白符 |
%u | 大寫字母 |
%w | 字母和數字 |
%x | 十六進位制數字 |
%z | 代表 0的字元 |
(). % + - * ? [ ^ $ | 特殊字元,需要用%轉義 |
模式修飾符
符號 | 含義 |
---|---|
+ | 匹配前一字元 1 次或多次,最長匹配 |
* | 匹配前一字元 0 次或多次,最長匹配 |
- | 匹配前一字元 0 次或多次,最短匹配 |
? | 匹配前一字元 0 次或 1次 |
如,模式 ‘%a+’ 匹配一個或多個字母或者一個單詞:
未完…