zm.Split 超级分割

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

按指定分隔符或长度对原内容进行分割, 支持模式匹配, 返回分割后的一维数组。

语法

结果 = zm.Split(原内容, 分隔符[, 模式匹配[, 转数值型] ])

参数

参数 数据类型 解释
原内容 字符串 待分割的原字符串内容
分隔符 字符串数值型 当字符串型时表示按此分隔符进行分割数组, 当数值型时表示按此长度进行分割数组
模式匹配 布尔型 可选, true表示开启模式匹配, 省略默认为false
转换类型 布尔型 可选, true表示开启智能转换数据类型, 省略默认为false

返回值

, 返回分割后的一维数组

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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: 新增智能转换数据类型可选参数