# 向左/向右提取字符串

从左边缘或右边缘提取字符串。

##### 块

##### 文本

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

# | 描述
1 | [Destination Data] 设置目标，存储提取的字符串。
2 | 提取字符串的方向 ##### 块 [FromLeft] [FromRight] ##### 文本 'substringFromLeft' 'substringFromRight' 选择用于提取字符串的方向。 （示例）字符串："ABCDE"，[Number of characters]：3提取红色字符。 选择 [FromLeft] 时: ABCDE 选择 [FromRight] 时: ABCDE
3 | [Number of characters] 设置一个块，指定要提取的字符数。该值必须大于或等于1，并且小于或等于可以提取的字符数。 双字节字符被视为单个字符。
4 | [Source Data] 设置存储要提取的字符串的源数据。

(示例)

##### 块

##### 文本

Var4 = substringFromLeft(Var3,Var1);

## 操作示例

[Source Data] 中的变量 | [Way to extract] | [Number of characters] | [Destination Data] 中的变量 | 注释
目标字符串 | 最大字节数 | 提取要存储的字符串
ABCDE | FromLeft | 3 | 5 | ABC | -
0 | 5 | (无) | 由于[Number of characters]小于1，未存储字符串。在“操作结果”操作中判断为失败。
3.6 | 5 | ABC | [Number of characters]中小数点右边的值被删除。
FromRight | 3 | 5 | CDE | -
-1 | 5 | (无) | 由于[Number of characters]小于1，未存储字符串。在“操作结果”操作中判断为失败。
3.7 | 5 | CDE | [Number of characters]中小数点右边的值被删除。
AB | FromLeft | 3 | 5 | (无) | 由于[Number of characters]超出了可检索字符的数量，未存储字符串。在“操作结果”操作中判断为失败。
FromRight | 3 | 5 | (无) | 由于[Number of characters]超出了可检索字符的数量，未存储字符串。在“操作结果”操作中判断为失败。
ABCD(0x00)C | FromRight | 3 | 5 | BCD | 如果存在NULL（0x00），则字符串在该处终止。
AB(0x00)CD | FromLeft | 3 | 5 | (无) | 未存储字符串。如果存在NULL（0x00），则字符串在该处终止。作为结果，[Number of characters]超过了可检索的字符数。在“操作结果”操作中判断为失败。
AB(0x00)CDEF | FromRight | 3 | 5 | (无) | 未存储字符串。如果存在NULL（0x00），则字符串在该处终止。作为结果，[Number of characters]超过了可检索的字符数。在“操作结果”操作中判断为失败。
ABCDEFGH | FromLeft | 6 | 5 | (无) | 由于转换后的字符串已超过可以存储的最大字节数，未存储字符串。在“操作结果”操作中判断为失败。
FromRight | 6 | 5 | (无) | 由于转换后的字符串已超过可以存储的最大字节数，未存储字符串。在“操作结果”操作中判断为失败。
AあB | FromLeft | 3 | 5 | AあB | 根据[Number of characters]存储字符串。 *1
FromRight | 2 | 5 | あB | 根据[Number of characters]存储字符串。 *1

*1如果[Destination Data]变量中的最大字节数小于检索到的字符串的大小，该操作将失败。最大字节数取决于[Destination Data]变量的编码。