最近在使用中,遇到一个问题。已知一个字符串“[M251236D1][100Cr6][E1250396]”,在生产中,这个方扩号中的数值不固定、长度也不固定。现在需要将每一组放括号里的字符串提取出来,供后续使用。现在是使用FIND指令,发现只能寻找到完成第一组数据提取。提取第二组时,如何才能让寻找到字符串中第二次出现的‘[',的位置。
下面是查找第一个方括号内容的SCL语句。可以实现查找第一个方括号里的内容。
inputString是总的字符串
// 查找第一个方括号内容
startPos1 := FIND(IN1 := inputString, IN2 := '[');
endPos1 := FIND(IN1 := inputString, IN2 := ']');
IF startPos1 > 0 AND endPos1 > startPos1 THEN
output1 := MID(IN := inputString, L := endPos1 - startPos1 - 1, P := startPos1 + 1);
END_IF;