跳到主要内容

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: 新增智能转换数据类型可选参数