提取中间字符串

从所需位置提取字符串。

文本

TARGET = substring(INPUT, STARTPOSITION, COUNT);
  1                  4          2          3

# 描述
1 [Destination Data] 设置目标,存储提取的字符串。
2 [Start position] 整数值,指定字符串提取的起始点。该值必须大于或等于1且小于或等于可提取的开始位置。
3 [Number of characters]

设置要提取的字符数。该值必须大于或等于1,并且小于或等于可以提取的字符数。

双字节字符被视为单个字符。

4 [Source Data] 设置源数据,存储要提取的字符串。

(示例)

文本

Var4 = substring(Var3,Var5,Var1);

操作示例

[Source Data]中的变量

[Start Position]

[Number of characters]

[Destination Data]中的变量

注解

目标字符串

最大字节数 提取要存储的字符串
ABCDE 2 3 5BCD -
4 3 5(无)
由于[Number of characters]超出了可检索字符的数量,未存储字符串。在“操作结果”操作中判断为失败。
6 3 5(无)
由于[Start Position]超出了可用的开始位置,未存储字符串。在“操作结果”中判断为失败。
0 3 5(无)
由于[Start Position]小于1,未存储字符串。在“操作结果”中判断为失败。
-1 3 5(无)
由于[Start Position]小于1,未存储字符串。在“操作结果”中判断为失败。
4 0 5(无)
由于[Number of characters]小于1,未存储字符串。在“操作结果”操作中判断为失败。
4 -1 5(无)
由于[Number of characters]小于1,未存储字符串。在“操作结果”操作中判断为失败。
2.1 3 5BCD [Start Position]的小数部分被截断。
2 3.5 5BCD
[Number of characters]中小数点右边的值被删除。
ABCDEF 1 6 5(无)
由于转换后的字符串已超过可以存储的最大字节数,未存储字符串。在“操作结果”操作中判断为失败。
AB(0x00)CDE 2 3 5(无)
未存储字符串。如果存在NULL(0x00),则字符串在该处终止。作为结果,[Number of characters]超过了可检索的字符数。在“操作结果”操作中判断为失败。
4 3 5(无)
未存储字符串。如果存在NULL(0x00),则字符串在该处终止。作为结果,[Start Position]超出了可用的开始位置。在“操作结果”中判断为失败。
AあB 1 3 5AあB
根据[Number of characters]存储字符串。 *1
2 3 5(无)
由于[Number of characters]超出了可检索字符的数量,未存储字符串。在“操作结果”操作中判断为失败。
2 2 5あB
根据[Number of characters]存储字符串。 *1
*1如果[Destination Data]变量中的最大字节数小于检索到的字符串的大小,该操作将失败。最大字节数取决于[Destination Data]变量的编码。