现场调试个扫码枪,扫出来的字符串怎么提取里面需要的信息呢?
ST语言中字符串相关的指令,总结!用这些指令编辑扫出来的字符串,可以任意提取你想要的信息!
先来认识下所有和字符串处理相关的指令!
CONCAT——连接字符串的超级英雄
CONCAT指令可以把两个或更多的字符串连接起来,就像把拼图碎片拼成一幅完整的画一样。
例子:
CONCAT("Hello, ", "World!") ; |
输出:Hello, World!
DELETE——删除字符串中的坏字符
DELETE指令可以删除字符串中的某个字符或子串,就像从画中抹去一个不和谐的色彩。
例子:
DELETE("Hello, World!", "l") ; |
输出:Heo, Word!
FIND——查找字符串中的宝藏
FIND指令可以在字符串中查找特定的字符或子串,并返回它的位置,就像在沙滩上寻找闪亮的贝壳。
例子:
FIND("Hello, World!", ",") ; |
输出:6
INSERT——插入英雄到字符串的合适位置
INSERT指令可以在字符串的任意位置插入指定的字符或子串,就像在画中添加新的元素。
例子:
INSERT("Hello, World!", " Beautiful", 7) ; |
输出:Hello, Beautiful World!
LEFT——获取字符串左侧的英雄信息
LEFT指令可以获取字符串左侧指定数量的字符或子串,就像从画中剪下左边的一部分。
例子:
LEFT("Hello, World!", 5) ; |
输出:Hello
LEN——计算字符串中的英雄数量
LEN指令可以计算字符串中字符或子串的数量,就像数一数画的线条和色彩块的数量。
例子:
LEN("Hello, World!") ; |
输出:13
MID——召集中间的英雄加入战斗
MID指令可以在字符串的任意位置开始,提取指定数量的字符或子串。在我们的比喻中,它就像是从画中选取一个区域,看看这个区域里面有什么。
例子:
MID("Hello, World!", 6, 5) ; |
输出:World
REPLACE——用新英雄替换老英雄
REPLACE指令可以替换字符串中特定的字符或子串。这个指令就像是在画中用一个新颜色替换旧颜色。
例子:
REPLACE("Hello, World!", "l", "L") ; |
输出:HeLLo, WorLd!
RIGHT——让右侧的英雄归队
RIGHT指令可以获取字符串右侧指定数量的字符或子串。这个指令就像是切下画的一块区域,并观察这个区域里面有什么。
例子:
RIGHT("Hello, World!", 5) ; |
输出:World!
以下是一套使用ST语言编写的扫码枪字符串提取程序,其中使用了CONCAT、DELETE、FIND、INSERT、LEFT、LEN、MID、REPLACE和RIGHT等指令。
st
// 从扫码枪读取字符串并存储到input变量中 |
SCAN_READ(input) |
// 使用CONCAT指令将“Hello,”和“World!”与输入字符串连接起来 |
CONCAT(output, "Hello, ", input, " World!") |
// 使用DELETE指令删除字符串中的空格 |
DELETE(output, " ", output) |
// 使用FIND指令查找第一个“,”的位置 |
FIND(index, ",", output) |
// 使用LEFT指令获取左侧的字符串 |
LEFT(leftStr, index, output) |
// 使用MID指令获取中间的字符串 |
MID(middleStr, index + 1, LEN(output) - index, output) |
// 使用REPLACE指令将第一个“,”替换为“;” |
REPLACE(output, ",", ";") |
// 使用RIGHT指令获取右侧的字符串 |
RIGHT(rightStr, LEN(output) - FIND(index, ";", output), output) |
// 输出结果 |
SCAN_WRITE(leftStr) |
SCAN_WRITE(middleStr) |
SCAN_WRITE(rightStr) |
注释说明:
该程序首先从扫码枪读取字符串,然后将其与固定的“Hello, World!”连接起来。接下来,删除字符串中的空格,查找第一个“,”的位置,并将其左侧、右侧的字符串分别存储到leftStr和rightStr变量中。同时,使用MID指令获取到“,”和“;”之间的字符串并存储到middleStr变量中。最后,使用REPLACE指令将第一个“,”替换为“;”,并将leftStr、middleStr和rightStr输出到扫码枪的相应位置中。
兄弟们点个关注!谢谢!