发帖
充值
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
首页源码分享字符串分割扩展,支持多种分隔符

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

3
回复
2725
查看
[ 复制链接 ]

4

主题

12

回帖

198

积分

注册会员

积分
198
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"}

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

3

主题

44

回帖

324

积分

中级会员

积分
324
感觉不错.
回复
使用道具
举报

1

主题

37

回帖

86

积分

注册会员

积分
86
这个好,对适配更多用户减少售后压力
回复
使用道具
举报

2

主题

36

回帖

65

积分

注册会员

积分
65
66666666666666
回复
使用道具
举报
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则