字符串分割扩展,支持多种分隔符

[复制链接]
查看1735 | 回复3 | 2021-9-9 02:49:27 | 显示全部楼层 |阅读模式

  1. function XX.SplitEx(Str, cutSymbol)
  2.        
  3.         cutSymbol = tostring(cutSymbol)
  4.         if (cutSymbol=='') then
  5.                 return {}
  6.         end
  7.        
  8.         cutSymbol = XM.Split(cutSymbol,"|")
  9.         local result = Str
  10.         local new = {}
  11.         for i=1,#cutSymbol do
  12.                 local s = cutSymbol[i]
  13.                 if type(result) == "string" then
  14.                         result = XM.Split(Str,s)
  15.                 elseif type(result) == "table" then
  16.                         for _,v in pairs(result) do
  17.                                 local x = XM.Split(v,s)
  18.                                 if x and type(x) == "table" then
  19.                                         for _,val in pairs(x) do
  20.                                                 table.insert(new,#new+1,val)
  21.                                         end
  22.                                 end
  23.                         end
  24.                         result = XM.ArrayAssign(new)
  25.                         new = {}
  26.                 end
  27.         end
  28.        
  29.         return result
  30. end
复制代码
使用示例:
local str = "a,b-c,d-e"
local ret = XX.SplitEx(str,",|-") --以,和-作为分隔符
print(ret)
--运行结果: {"a","b","c","d","e"}

使用场景: 脚本界面用户需要用户输入需要英文逗号分割时,
用户错填成了中文逗号,导致脚本报错,可以使用扩展分割进行
同时处理两种语言分隔符
回复

使用道具 举报

szmy | 2021-9-10 08:06:17 | 显示全部楼层
感觉不错.
回复

使用道具 举报

aa627816231 | 2021-11-25 21:10:23 | 显示全部楼层
这个好,对适配更多用户减少售后压力
回复

使用道具 举报

tianquan514 | 2022-2-3 19:24:25 | 显示全部楼层
66666666666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

4

主题

16

帖子

198

积分

注册会员

Rank: 2

积分
198