zm.Split 超级分割
🎯功能
按指定分隔符或长度对原内容进行分割, 支持模式匹配, 返回分割后的一维数组。
📜语法
结果 = zm.Split(原内容, 分隔符[, 模式匹配[, 转数值型] ])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
原内容 | 字符串 | 待分割的原字符串内容 |
分隔符 | 字符串 或数值型 | 当字符串型时表示按此分隔符进行分割数组, 当数值型时表示按此长度进行分割数组 |
模式匹配 | 布尔型 | 可选, true 表示开启模式匹配, 省略默认为false |
转换类型 | 布尔型 | 可选, true 表示开启智能转换数据类型, 省略默认为false |
📤返回
表
, 返回分割后的一维数组
💡示例
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
//按字符串分割数组
Dim a = zm.Split("1,2,3,4,5", ",")
For i = 0 To UBOUND(a)
TracePrint a(i)
Next
//按长度分割数组
Dim b = zm.Split("紫猫编程学园", 1)
For i = 0 To UBOUND(b)
TracePrint b(i)
Next
//按模式匹配分割数组
Dim c = zm.Split("这234句话里45645646有605数字", "%d+", true)
For i = 0 To UBOUND(c)
TracePrint c(i)
Next
//开启智能转换数据类型, 分割后, 1,3成员是数值型, a,b成员是字符串型, true是布尔型
Dim d = zm.Split("1,true,a,3,b", ",", false, true)
For i = 0 To UBOUND(d)
TracePrint "值:", d(i), ", 类型:", zm.Type(d(i))
Next
📘备注
- 匹配模式,与Javascript或Perl等正则不同,详见Lua匹配模式
- V1.1816: 加入命令
- V4.2039: 新增智能转换数据类型可选参数