1

这让我想知道我是否可能缺少功能或其他东西。

有一个字符串,例如TZ118-AH01

我只是想删除第二个字符,想知道是否有一种简单的方法可以做到这一点,不能使用 CONVERT 因为第二个字符可能在字符串中重复。

目前想我必须像

VALUE = STRING[1,1]:STRING[3,LEN(STRING)-2]

这似乎有点麻烦。

有人有一个漂亮的工作吗?

4

1 回答 1

0
VALUE = STRING[1,1]:STRING[LEN(STRING)-2] 

如果您确定长度不会小于 2,并且由于某种原因您不介意停止整个调用堆栈,那么在语法上将是相同的。

如果第一个和第二个字符是已知商品,您可以使用 field 并将第四个变量中的字段计数增加到 1000 之类的高值,但这很笨拙,并且依赖于第一个和第二个字符不相同。

最好的方法是连接一个新的字符串迭代遍历字符数组并跳过第二次迭代的函数或子例程。

SUBROUTINE Remove2ndChar(StringOut,StringIn)
StringOut=""
CC=LEN(StringIn)
FOR C=1 TO CC
   If C NE 2 THEN 
      StringOut:=StringIn[C,1]
   END
NEXT C
RETURN

这不一定是您要寻找的,但它可能会更安全。

祝你好运。

于 2019-08-30T15:13:14.317 回答