YStudio Y++

文本操作(基础支持库)

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → 基础支持库 → 文本操作。

硬约束

  1. 扁平命令:取文本长度("你好"),无对象前缀。
  2. 文本位置多数从 1(取文本中间 / 寻找文本 / 取字符 / 截取文本 / 文本插入)。
  3. 寻找文本 未找到返回 0(不是 -1)。
  4. 文本分割 结果数组下标从 0;取文本分段 的段号从 1。
  5. 文本插入 的 位置=0 表示追加到末尾;位置≥1 为插入点。

快速开始

文本 s = "  Hello,World  "
s = 删首尾空(s)
整数 p = 寻找文本(s, "World")
如果 (p > 0) {
    输出(取文本中间(s, 1, p - 1))
}
文本 段[] = 文本分割(s, ",")
输出(段[0])
输出(取文本分段(s, ",", 2))

文本操作

本分类共 39 条。

倒序文本

  • 签名:文本 倒序文本(文本 内容)
  • 说明:将文本字符顺序反转。
  • 参数一│文本 内容: 源文本。

删右边空

  • 签名:文本 删右边空(文本 内容)
  • 说明:删除文本右侧空白字符。
  • 参数一│文本 内容: 源文本。

删左边空

  • 签名:文本 删左边空(文本 内容)
  • 说明:删除文本左侧空白字符。
  • 参数一│文本 内容: 源文本。

删首尾空

  • 签名:文本 删首尾空(文本 内容)
  • 说明:删除文本首尾的空格、制表符与换行。
  • 参数一│文本 内容: 源文本。

到大写

  • 签名:文本 到大写(文本 内容)
  • 说明:将文本中字母转为大写。
  • 参数一│文本 内容: 源文本。

到小写

  • 签名:文本 到小写(文本 内容)
  • 说明:将文本中字母转为小写。
  • 参数一│文本 内容: 源文本。

取中间T

  • 签名:文本 取中间T(文本 数据, 文本 左边文本, 文本 右边文本, [逻辑 区分大小写=真])
  • 说明:提取左、右定界串之间的内容(不含定界串本身)。
  • 参数一│文本 数据: 要搜索的文本。
  • 参数二│文本 左边文本: 左边界定界串。
  • 参数三│文本 右边文本: 右边界定界串。
  • 参数四│[逻辑 区分大小写=真]: 真=区分大小写;假=不区分。

取分段数

  • 签名:整数 取分段数(文本, [文本 分隔符=","])
  • 说明:按分隔符拆分后,返回共有几段。
  • 参数一│文本 内容: 源文本。
  • 参数二│[文本 分隔符=”,”]: 分隔符。

取右边T

  • 签名:文本 取右边T(文本 数据, 文本 左边文本, [逻辑 区分大小写=真])
  • 说明:以左边界定界串为起点,提取其后到末尾的内容;通常取第一处匹配之后。
  • 参数一│文本 数据: 要搜索的文本。
  • 参数二│文本 左边文本: 左边界定界串。
  • 参数三│[逻辑 区分大小写=真]: 真=区分大小写;假=不区分。

取字符

  • 签名:文本 取字符(文本 内容, [整数 位置=1])
  • 说明:取文本中第几个字符(从 1 开始)。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 位置=1]: 字符位置。

取左边T

  • 签名:文本 取左边T(文本 数据, 文本 右边文本, [逻辑 区分大小写=真])
  • 说明:以右边界定界串为结束标记,提取其左侧内容。
  • 参数一│文本 数据: 要搜索的文本。
  • 参数二│文本 右边文本: 右边界定界串。
  • 参数三│[逻辑 区分大小写=真]: 真=区分大小写;假=不区分。

取文本中间

  • 签名:文本 取文本中间(文本 内容, [整数 起始=1], [整数 长度=0])
  • 说明:从指定位置起取一段字符。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 起始=1]: 起始位置(从 1 开始)。
  • 参数三│[整数 长度=0]: 欲取字符数;0 表示取到末尾。

取文本分段

  • 签名:文本 取文本分段(文本, [文本 分隔符=","], [整数 段号=1])
  • 说明:按分隔符拆分文本,返回第几段(从 1 开始)。
  • 参数一│文本 内容: 源文本。
  • 参数二│[文本 分隔符=”,”]: 如 “,” 或 “-“
  • 参数三│[整数 段号=1]: 从 1 开始。

取文本右边

  • 签名:文本 取文本右边(文本 内容, [整数 长度=0])
  • 说明:从右侧取指定个数的字符。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 长度=0]: 欲取字符数;0 表示取整段。

取文本左边

  • 签名:文本 取文本左边(文本 内容, [整数 长度=0])
  • 说明:从左侧取指定个数的字符。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 长度=0]: 欲取字符数;0 表示取整段。

取文本长度

  • 签名:整数 取文本长度(文本 内容)
  • 说明:返回文本的字符数。
  • 参数一│文本 内容: 欲取长度的文本。

合并文本

  • 签名:文本 合并文本(文本一, 文本二, [文本 分隔符=""])
  • 说明:将两段文本用分隔符连接。
  • 参数一│文本 文本一: 第一段。
  • 参数二│文本 文本二: 第二段。
  • 参数三│[文本 分隔符=”“]: 中间插入的内容。

填充文本

  • 签名:文本 填充文本(文本 内容, 整数 长度, [整数 方式=1], [文本 填充符=" "])
  • 说明:将文本填充到指定长度。
  • 参数一│文本 内容: 源文本。
  • 参数二│整数 长度: 目标总长度。
  • 参数三│[整数 方式=1]: 1=右填充,2=左填充,3=居中。
  • 参数四│[文本 填充符=” “]: 填充字符(取首字符)。

字符编码

  • 签名:整数 字符编码(文本 字符, [整数 方式=1])
  • 说明:取字符的 Unicode 码点或 UTF-8 字节长度。
  • 参数一│文本 字符: 欲编码的字符(取首字符)。
  • 参数二│[整数 方式=1]: 1=Unicode 码点,2=UTF-8 字节数。

寻找文本

  • 签名:整数 寻找文本(文本 内容, 文本 欲寻找, [整数 起始=1], [逻辑 区分大小写=真])
  • 说明:在文本中查找子串,返回首次出现位置。
  • 参数一│文本 内容: 被查找的文本。
  • 参数二│文本 欲寻找: 要查找的子串。
  • 参数三│[整数 起始=1]: 从第几个字符开始找(从 1 起)。
  • 参数四│[逻辑 区分大小写=真]: 真=区分大小写,假=不区分。

寻找次数

  • 签名:整数 寻找次数(文本 内容, 文本 欲寻找, [逻辑 区分大小写=真])
  • 说明:统计子串在文本中出现的次数。
  • 参数一│文本 内容: 被查找的文本。
  • 参数二│文本 欲寻找: 子串。
  • 参数三│[逻辑 区分大小写=真]: 真=区分,假=不区分。

截取文本

  • 签名:文本 截取文本(文本 内容, [整数 起始=1], [整数 长度=0], [整数 方式=1])
  • 说明:按多种方式截取文本片段。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 起始=1]: 起始位置(从 1 开始)。
  • 参数三│[整数 长度=0]: 方式1=字符数(0=到末尾);方式2=从末尾取长度。
  • 参数四│[整数 方式=1]: 1=正向截取,2=从末尾截取。

文本分割

  • 签名:文本数组 文本分割(文本 数据, [文本 分隔符=","], [整数 最大份数=0], [逻辑 去空白=假], [逻辑 忽略空项=假])
  • 说明:按分隔符将文本分割成数组,支持多种分割选项。
  • 参数一│文本 数据: 要分割的文本。
  • 参数二│[文本 分隔符=”,”]: 分隔串;省略时默认逗号 “,”。
  • 参数三│[整数 最大份数=0]: 最多分段数;0 或不限制时余下内容留在最后一段。
  • 参数四│[逻辑 去空白=假]: 真=每段去除首尾空白。
  • 参数五│[逻辑 忽略空项=假]: 真=丢弃空段。

文本删除

  • 签名:文本删除(文本 内容, [通用 参数一=1], [整数 参数二=0], [整数 方式=1])
  • 说明:按位置或子串删除文本中的内容。
  • 参数一│文本 内容: 源文本。
  • 参数二│[通用 参数一=1]: 方式1/3/4=整数;方式2=欲删子串。
  • 参数三│[整数 参数二=0]: 方式1=删除长度(0=到末尾);方式2=删除次数(0=全部)。
  • 参数四│[整数 方式=1]: 1=按位置删,2=删子串,3=删左侧n字,4=删右侧n字。

文本包含

  • 签名:逻辑 文本包含(文本 内容, 文本 欲寻找, [整数 起始=1], [逻辑 区分大小写=真])
  • 说明:判断文本中是否包含指定子串。
  • 参数一│文本 内容: 被查找的文本。
  • 参数二│文本 欲寻找: 子串。
  • 参数三│[整数 起始=1]: 从第几个字符开始。
  • 参数四│[逻辑 区分大小写=真]: 真=区分,假=不区分。

文本开头是

  • 签名:逻辑 文本开头是(文本, 前缀, [逻辑 区分大小写=真])
  • 说明:判断文本是否以指定前缀开头。
  • 参数一│文本 内容: 源文本。
  • 参数二│文本 前缀: 欲匹配的开头。
  • 参数三│[逻辑 区分大小写=真]: 真=区分,假=不区分。

文本插入

  • 签名:文本插入(文本 内容, 文本 插入内容, [整数 位置=0], [整数 方式=1])
  • 说明:在指定位置插入文本。
  • 参数一│文本 内容: 源文本。
  • 参数二│文本 插入内容: 要插入的文本。
  • 参数三│[整数 位置=0]: 插入位置(1 起);0=末尾;方式2/3 时可忽略。
  • 参数四│[整数 方式=1]: 1=按位置插入,2=插入到开头,3=追加到末尾。

文本是否为空

  • 签名:逻辑 文本是否为空(文本 内容, [整数 方式=2])
  • 说明:判断文本是否为空或无有效内容。
  • 参数一│文本 内容: 欲判断的文本。
  • 参数二│[整数 方式=2]: 1=仅空串,2=含空白视为空(默认)。

文本比较

  • 签名:整数 文本比较(文本 文本一, 文本 文本二, [逻辑 区分大小写=真])
  • 说明:比较两段文本的大小/相等关系。
  • 参数一│文本 文本一: 第一段。
  • 参数二│文本 文本二: 第二段。
  • 参数三│[逻辑 区分大小写=真]: 真=区分,假=不区分。

文本结尾是

  • 签名:逻辑 文本结尾是(文本, 后缀, [逻辑 区分大小写=真])
  • 说明:判断文本是否以指定后缀结尾。
  • 参数一│文本 内容: 源文本。
  • 参数二│文本 后缀: 欲匹配的结尾。
  • 参数三│[逻辑 区分大小写=真]: 真=区分,假=不区分。

文本统计

  • 签名:整数 文本统计(文本 内容, [整数 统计项=1], [文本 子串=""])
  • 说明:统计文本的字符数、字节数、行数、词数或子串出现次数。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 统计项=1]: 1=字符数,2=UTF-8字节数,3=行数,4=子串次数,5=单词数。
  • 参数三│[文本 子串=”“]: 统计项为 4 时指定子串。

文本重复

  • 签名:文本重复(文本 内容, [整数 次数=1], [文本 分隔符=""])
  • 说明:将文本重复拼接指定次数,可选分隔符。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 次数=1]: 重复次数。
  • 参数三│[文本 分隔符=”“]: 每次重复之间的分隔文本。

是否为空

  • 签名:逻辑 是否为空(文本 数据)
  • 说明:判断文本是否为空串。
  • 参数一│文本 数据: 欲判断的文本。

是否假值

  • 签名:逻辑 是否假值(文本 数据)
  • 说明:判断文本是否表示逻辑假。
  • 参数一│文本 数据: 欲判断的文本。

替换文本

  • 签名:文本 替换文本(文本 内容, 文本 旧, 文本 新, [整数 方式=1])
  • 说明:将文本中的子串替换为新内容。
  • 参数一│文本 内容: 源文本。
  • 参数二│文本 旧: 欲被替换的子串。
  • 参数三│文本 新: 替换为的内容。
  • 参数四│[整数 方式=1]: 1=全部替换,2=仅首次;兼容 真/假。

编码字符

  • 签名:文本 编码字符(整数 编码值, [整数 方式=1])
  • 说明:由 Unicode 码点生成对应字符。
  • 参数一│整数 编码值: Unicode 码点。
  • 参数二│[整数 方式=1]: 1=Unicode 码点转字符。

重复文本

  • 签名:文本 重复文本(文本 内容, [整数 次数=1])
  • 说明:将文本重复拼接指定次数。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 次数=1]: 重复次数。

首字母大写

  • 签名:文本 首字母大写(文本 内容, [整数 方式=1])
  • 说明:将文本首字母或每个单词首字母转为大写。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 方式=1]: 1=仅首字符,2=每个单词首字符。

首字母小写

  • 签名:文本 首字母小写(文本 内容, [整数 方式=1])
  • 说明:将文本首字母或每个单词首字母转为小写。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 方式=1]: 1=仅首字符,2=每个单词首字符。

易错对照

错误 正确
寻找文本未找到当 -1 返回 0
文本分割下标从 1 从 0
文本插入 位置=0 当前面插入 0=追加末尾

相关

类型转换 · 正则类 · 编码支持库