首页 理论教育 字符串的基本操作指令

字符串的基本操作指令

时间:2023-06-21 理论教育 版权反馈
【摘要】:字符串占用的字节数为最大长度加2。合并后字符串IN1和IN2分别是连接后的字符串的左部分和右部分。字符串指令对异常情况的处理见STEP 7 Basic中的在线帮助。

字符串的基本操作指令

1.字符串的结构

STRING(字符串)数据有2B的头部,后面是最多254B的ASCII字符代码。字符串的首字节是字符串的最大长度,第2个字节是当前长度,即当前实际使用的字符数。当前长度必须小于等于最大长度。字符串占用的字节数为最大长度加2。字符串默认的最大长度为254个字符,定义字符串的最大长度可以减少它占用的存储空间。例如定义了字符串“MyS-tring[10]”之后,字符串MyString的最大长度为10个字符。

2.定义字符串

执行字符串指令之前,首先应定义字符串。不能在变量表中定义字符串,只能在代码块的界面区或全局数据块中定义它。生成符号名为DB_1的全局数据块,在DB_1中定义字符串变量string1~string3(见图4-61)。字符串的数据类型String[18]中的“[18]”表示其最大长度为18个字符,加上两个头部字节,共20B,因此string1的起始地址偏移量Offset)为:DBB200,String2的Offset为DBB220。如果字符串的数据类型为String(没有方括号),每个字符串变量将占用256B。

978-7-111-47789-1-Chapter04-70.jpg

图4-61 在数据块中生成字符串变量

在OB1的界面区定义3个字符串变量,其最大长度均为18个字符。

3.LEN指令(求字符串长度)

指令LEN用输出参数OUT(整数)提供输入参数IN指定的字符串的当前长度,空字符串(978-7-111-47789-1-Chapter04-71.jpg)的长度为0。执行图4-62中的LEN指令后,MW172中是输入的字符串的长度(7个字符)。

978-7-111-47789-1-Chapter04-72.jpg

图4-62 字符串指令a)

4.CONCAT指令(合并字符串)

CONCAT指令将输入参数IN1和IN2指定的两个字符串连接在一起,然后用参数OUT输出连接后的字符串(见图4-62)。合并后字符串IN1和IN2分别是连接后的字符串的左部分和右部分。如果连接后的字符串的长度大于允许的最大长度,则将它限制在最大长度,并将ENO设置为0。

5.LEFT指令(左子字符串)

指令LEFT用参数OUT指定的字符串来输出参数IN指定的字符串的前L个字符,L的数据类型为Int。执行图4-62中的LEFT指令后,输出OUT中是IN输入的字符串左边的5个字符。字符串指令对异常情况的处理见STEP 7 Basic中的在线帮助。

6.RIGHT指令(右子字符串)

指令RIGHT用参数OUT指定的字符串输出字符串IN的最后L个字符,L的数据类型为Int。执行图4-63中的RIGHT指令后,输出OUT中是字符串IN右边的4个字符。(www.xing528.com)

978-7-111-47789-1-Chapter04-73.jpg

图4-63 字符串指令b)

7.MID指令(提供字符串的中间部分)

指令MID用参数OUT指定的字符串输出字符串IN从第P个字符开始的L个字符。执行图4-63中的MID指令后,输出OUT中是IN输入的字符串从第2个字符开始的中间4个字符。

8.DELETE指令(删除子字符串)

指令DELETE从字符串IN中第P个字符开始,删除L个字符。参数OUT输出剩余的子字符串。执行图4-63中的DELETE指令后,IN输入的字符串被删除从第3个字符开始的2个字符后,然后输出到OUT指定的字符串。

9.INSERT指令(插入字符串)

指令INSERT将字符串IN2插入到字符串IN1中第P个字符之后。执行图4-64中的IN-SERT指令后,IN2指定的字符串978-7-111-47789-1-Chapter04-74.jpgABC978-7-111-47789-1-Chapter04-75.jpg被插入到IN1指定的字符串′abcde′第3个字符之后。

10.REPLACE指令(子字符串替换)

指令REPLACE用字符串IN2替换字符串IN1中从字符位置P开始的L个字符,替换的结果用参数OUT输出。执行图4-64中的REPLACE指令后,字符串IN1中从第3个字符开始的3个字符(978-7-111-47789-1-Chapter04-76.jpgCDE978-7-111-47789-1-Chapter04-77.jpg)被IN2指定的字符串978-7-111-47789-1-Chapter04-78.jpg1234978-7-111-47789-1-Chapter04-79.jpg代替。

978-7-111-47789-1-Chapter04-80.jpg

图4-64 字符串指令c)

11.FIND指令(查找子字符串)

指令FIND提供字符串:IN2在字符串IN1中的位置。查找从字符串IN1的左侧开始,输出参数OUT(整数)返回第一次出现字符串IN2的位置。如果在字符串IN1中未找到字符串IN2,则返回零。

执行图4-64中的FIND指令后,查找到IN2指定的字符串978-7-111-47789-1-Chapter04-81.jpgDEF978-7-111-47789-1-Chapter04-82.jpg从IN1指定的字符串978-7-111-47789-1-Chapter04-83.jpgAB-CDEFGHI978-7-111-47789-1-Chapter04-84.jpg的第4个字符开始。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈