数据函数

字符串处理

23 个函数

获取字符长度

Data.textLength(text: string): integer

按 Unicode 字符统计,不按 UTF-8 字节统计。 中文、英文、数字和普通符号各计 1;示例:Data.textLength("中文AbC123,。") 返回 10

参数1 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
返回值至少接收一个返回值
序号名称类型返回说明
1 length Unicode 字符数量。
  • 大于0:统计到字符或匹配项
  • 0:内容为空或没有匹配项

查找字符位置

Data.textFind(text: string, target: string, start: integer): integer

查找 target 第一次出现的位置,位置从 1 开始;未找到返回 0。 示例:Data.textFind("中文ABC123","ABC") 返回 3

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 target 要查找的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"ABC"
3 start 从第几个字符开始查找,索引从 1 开始。 可填写整数变量或数字;省略时默认为 1。
返回值至少接收一个返回值
序号名称类型返回说明
1 position 首次匹配的字符位置。
  • 大于0:找到内容,从 1 开始
  • 0:没有找到或查找内容为空

判断是否包含

Data.textContains(text: string, target: string): integer

判断 text 中是否出现 target,返回 1 或 0。 示例:Data.textContains("中文ABC123","ABC") 返回 1

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 target 要判断的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"ABC"
返回值至少接收一个返回值
序号名称类型返回说明
1 contains 是否包含指定内容。
  • 1:条件成立
  • 0:条件不成立

判断指定开头

Data.textStartsWith(text: string, prefix: string): integer

判断 text 是否以 prefix 开头,返回 1 或 0。 示例:Data.textStartsWith("中文ABC","中文") 返回 1

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 prefix 要判断的开头内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文"
返回值至少接收一个返回值
序号名称类型返回说明
1 startsWith 是否以指定内容开头。
  • 1:条件成立
  • 0:条件不成立

判断指定结尾

Data.textEndsWith(text: string, suffix: string): integer

判断 text 是否以 suffix 结尾,返回 1 或 0。 示例:Data.textEndsWith("中文ABC","ABC") 返回 1

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 suffix 要判断的结尾内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"ABC"
返回值至少接收一个返回值
序号名称类型返回说明
1 endsWith 是否以指定内容结尾。
  • 1:条件成立
  • 0:条件不成立

统计出现次数

Data.textCount(text: string, target: string): integer

统计 target 非重叠出现的次数;没有出现返回 0。 示例:Data.textCount("A-A-A","A") 返回 3

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 target 要统计的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"A"
返回值至少接收一个返回值
序号名称类型返回说明
1 count 匹配内容非重叠出现的次数。
  • 大于0:统计到字符或匹配项
  • 0:内容为空或没有匹配项

按位置截取

Data.textSub(text: string, start: integer, length: integer): string

从 start 开始截取 length 个 Unicode 字符,索引从 1 开始。 示例:Data.textSub("中文ABC123",3,6) 返回 ABC123

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 start 起始字符位置,从 1 开始。 示例:3 表示从第 3 个字符开始。
3 length 要截取的字符数量,不是结束位置。 示例:6 表示最多取 6 个字符。
返回值至少接收一个返回值
序号名称类型返回说明
1 text 截取结果;起点越界或长度小于等于 0 时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

截取左侧字符

Data.textLeft(text: string, count: integer): string

从 text 最左侧截取 count 个 Unicode 字符。 示例:Data.textLeft("中文ABC",3) 返回 中文A

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 count 从左侧获取的字符数量;可填写整数变量或数字。
返回值至少接收一个返回值
序号名称类型返回说明
1 text 左侧截取结果;数量小于等于 0 时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

截取右侧字符

Data.textRight(text: string, count: integer): string

从 text 最右侧截取 count 个 Unicode 字符。 示例:Data.textRight("中文ABC",3) 返回 ABC

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 count 从右侧获取的字符数量;可填写整数变量或数字。
返回值至少接收一个返回值
序号名称类型返回说明
1 text 右侧截取结果;数量小于等于 0 时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

截取标记前

Data.textBefore(text: string, marker: string): string

返回第一个 marker 之前的全部内容,不包含 marker。 示例:Data.textBefore("key=value","=") 返回 key

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 marker 作为截取边界的完整标记。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"="
返回值至少接收一个返回值
序号名称类型返回说明
1 text 第一个标记之前的内容;标记为空或不存在时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

截取两标记间

Data.textBetween(text: string, left: string, right: string): string

先找第一个 left,再找它后面的第一个 right,返回两者之间的内容。 示例:Data.textBetween("前[中文ABC]后","[","]") 返回 中文ABC

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 left 左侧开始标记,不会包含在结果中。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"["
3 right 右侧结束标记,不会包含在结果中。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"]"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 两标记之间的内容;任一标记为空或不存在时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

截取标记后

Data.textAfter(text: string, marker: string): string

返回第一个 marker 之后的全部内容,不包含 marker。 示例:Data.textAfter("key=value","=") 返回 value

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 marker 作为截取边界的完整标记。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"="
返回值至少接收一个返回值
序号名称类型返回说明
1 text 第一个标记之后的内容;标记为空或不存在时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

去除首尾空白

Data.textTrim(text: string): string

只移除首尾的空格、换行、制表符和全角空格,不改变中间内容。 示例:Data.textTrim(" 中文 ABC ") 返回 中文 ABC

参数1 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 去除 Unicode 首尾空白后的字符串。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

替换首个内容

Data.textReplaceFirst(text: string, target: string, replacement: string): string

只把 target 第一次出现的位置替换为 replacement。 示例:Data.textReplaceFirst("A-A-A","A","X") 返回 X-A-A

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 target 要替换的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"A"
3 replacement 替换后的内容;填写 "" 可删除首个匹配项。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"X"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 替换首个匹配项后的字符串;没有匹配时保持原文。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

替换全部内容

Data.textReplace(text: string, target: string, replacement: string): string

把 target 的所有非重叠匹配项替换为 replacement。 示例:Data.textReplace("A-A-A","A","X") 返回 X-X-X

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 target 要替换的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"A"
3 replacement 替换后的内容;填写 "" 可删除全部匹配项。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"X"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 替换全部匹配项后的字符串;没有匹配时保持原文。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

插入字符串

Data.textInsert(text: string, position: integer, content: string): string

在 position 指向的字符前插入 content;字符总数加 1 表示追加。 示例:Data.textInsert("中文ABC",3,"-") 返回 中文-ABC

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 position 插入位置从 1 开始,有效范围是 1 到字符总数加 1。 例如长度为 5 时,填写 6 表示追加到末尾。
3 content 要插入的字符内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"-"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 插入后的字符串;位置无效时保持原文。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

删除范围字符

Data.textRemove(text: string, start: integer, length: integer): string

从 start 开始删除 length 个 Unicode 字符,索引从 1 开始。 示例:Data.textRemove("中文ABC",3,2) 返回 中文C

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 start 开始删除的字符位置,从 1 开始。
3 length 要删除的字符数量,不是结束位置。
返回值至少接收一个返回值
序号名称类型返回说明
1 text 删除后的字符串;位置无效时保持原文。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

重复字符串

Data.textRepeat(text: string, count: integer): string

把完整 text 连续重复 count 次,结果最大 16MB。 示例:Data.textRepeat("中A",3) 返回 中A中A中A

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 count 重复次数;可填写整数变量或数字。
返回值至少接收一个返回值
序号名称类型返回说明
1 text 重复后的字符串;次数小于等于 0 时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

分割字符串

Data.textSplit(text: string, separator: string): string

按 separator 拆分 text,返回 JSON 数组字符串;连续分隔符产生的空项目也会保留。 示例:Data.textSplit("A||中","|") 返回 ["A","","中"]

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 separator 分隔符,可以是一个或多个普通字符。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"|"
返回值至少接收一个返回值
序号名称类型返回说明
1 items 分割结果的 JSON 数组字符串。
  • ["A","中"]:分割成功
  • ["原文"]:分隔符为空或原文没有分隔符

拼接字符串

Data.textJoin(json: string, separator: string): string

用 separator 连接 JSON 数组中的全部项目;通常接收 textSplit 的结果。 示例:Data.textJoin("[\"A\",\"中\",\"3\"]","-") 返回 A-中-3

参数2 项
序号名称类型参数说明
1 json JSON 数组字符串或保存该数组的字符变量。 示例:"[\"A\",\"中\",\"3\"]"
2 separator 每个数组项目之间使用的连接内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"-"
返回值至少接收一个返回值
序号名称类型返回说明
1 text 拼接结果;json 不是有效 JSON 数组时为空字符。
  • 字符内容:处理成功
  • "":原结果为空或参数范围无效

正则判断

Data.regexMatch(text: string, expression: string): integer

判断 Java Unicode 正则能否在 text 任意位置找到内容;找到返回 1,未找到返回 0。 示例:Data.regexMatch("订单A-123","^订单[A-Z]-\\d+$") 返回 1

参数2 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 expression Java 正则表达式;完整匹配请使用 ^ 和 $。 可点击“快捷选择”使用数字、字母等常用表达式。 固定表达式必须放在英文双引号内,反斜杠需要写两次。 示例:"^订单[A-Z]-\\d+$";格式错误会停止并提示原因。
返回值至少接收一个返回值
序号名称类型返回说明
1 matched 正则表达式是否找到匹配内容。
  • 1:条件成立
  • 0:条件不成立

正则提取首个

Data.regexExtract(text: string, expression: string, group: integer): string

提取 text 中第一个正则匹配内容;没有匹配时返回空字符。 示例:Data.regexExtract("订单A-123","\\d+") 返回 123 分组示例:Data.regexExtract("A-123","([A-Z])-(\\d+)",2) 返回 123

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 expression Java 正则表达式;完整匹配请使用 ^ 和 $。 可点击“快捷选择”使用数字、字母等常用表达式。 固定表达式必须放在英文双引号内,反斜杠需要写两次。 示例:"^订单[A-Z]-\\d+$";格式错误会停止并提示原因。
3 group 提取分组编号;0 表示完整匹配,1 表示第一个括号分组,以此类推。 分组不存在时会停止脚本并提示有效范围。
返回值至少接收一个返回值
序号名称类型返回说明
1 match 第一个完整匹配或指定分组的内容。
  • 字符内容:找到匹配内容
  • "":没有匹配,或可选分组没有参与本次匹配

正则提取全部

Data.regexExtractAll(text: string, expression: string, group: integer): string

提取 text 中全部正则匹配内容并返回 JSON 数组,最多 10000 项且不超过 16MB。 示例:Data.regexExtractAll("A12 B34","\\d+") 返回 ["12","34"]

参数3 项
序号名称类型参数说明
1 text 原始文本,即本次要查询、截取或修改的完整内容。 可选择字符变量,或填写带英文双引号的固定文本。 示例:"中文ABC123"
2 expression Java 正则表达式;完整匹配请使用 ^ 和 $。 可点击“快捷选择”使用数字、字母等常用表达式。 固定表达式必须放在英文双引号内,反斜杠需要写两次。 示例:"^订单[A-Z]-\\d+$";格式错误会停止并提示原因。
3 group 提取分组编号;0 表示完整匹配,1 表示第一个括号分组,以此类推。 分组不存在时会停止脚本并提示有效范围。
返回值至少接收一个返回值
序号名称类型返回说明
1 matches 全部完整匹配或指定分组组成的 JSON 数组。
  • ["内容",...]:找到一个或多个匹配内容
  • []:没有匹配内容