lua 字符串分割_lua切割字符串成table数组

lua切割字符串成table数组函数。使用gmatch正则进行匹配字符串所有符合的字符,并把匹配的字符放入table中。

一、splitfunction _M.split(self, str, delimiter)

if str == nil or str == '' or delimiter == nil then

return nil

end

local delimiter1 = delimiter

if delimiter == '.' or delimiter == '+' or delimiter == '*' or delimiter == '-' or delimiter == '?' or delimiter == '%' then

delimiter1 = "%"..delimiter --转义特殊字符的间隔符

end

local result = {}

for match in (str..delimiter):gmatch("(.-)"..delimiter1) do

table.insert(result, match)

end

return result

end_M:split(str, delimiter)

二、string.gmatch (s, pattern)

返回一个迭代器函数,每一次调用这个函数,返回一个在字符串s找到的下一个符合pattern描述的子串。如果参数pattern描述的字符串没有找到,迭代函数返回nil。

匹配的模式:

.(点): 与任何字符配对

%a: 与任何字母配对

%c: 与任何控制符配对(例如\n)

%d: 与任何数字配对

%l: 与任何小写字母配对

%p: 与任何标点(punctuation)配对

%s: 与空白字符配对

%u: 与任何大写字母配对

%w: 与任何字母/数字配对

%x: 与任何十六进制数配对

%z: 与任何代表0的字符配对

%x:(此处x是非字母非数字字符)与字符x配对. 主要用来处理表达式中有功能的字符 (^$()%.[]*+-?) 的配对问题, 例如 %% 与 % 配对

[数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对 当上述的字符类用大写书写时, 表示与非此字符类的任何字符配对. 例如, %S表示与任何非空白字符配对,例如,'%A'非字母的字符

'%'':用作特殊字符的转义字符,因此  '%.'  匹配点;'%%'  匹配字符  '%' 。转义字符  '%'  不仅可以用来转义特殊字符,还可以用于所有的非字母的字符。当对一个字符有疑问的时候,为安全起见请使用转义字符转义他

+ :匹配前一字符1次或多次

* :匹配前一字符0次或多次

- :匹配前一字符0次或多次

? :匹配前一字符0次或1次

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值