本回帖只是根据楼主的问题写的代码,没有普遍性。
CLEAR
TEXT TO cStr NOSHOW
NO.04833357-04833358已认证进项
NO.04833357~04833358已认证进项
NO.04833357:04833358已认证进项
NO.04833357:04833358已认证进项
NO.04833357,-04833358已认证进项
NO.04833357,04833358已认证进项
NO.04833357、04833358已认证进项
NO.04833357.04833358已认证进项
NO.04833357。04833358已认证进项
NO.04833357&04833358已认证进项
#04833357,04833358进项发票
NO.04833357任何汉字或字母或空格04833358已认证进项
NO.04833357-366已认证进项(366-357小于50张时)
NO.04833357,366已认证进项
ENDTEXT
=ALINES(ArrayName,cStr)
FOR i = 1 TO ALEN(ArrayName)
c2 = ""
n1 = 0
FOR ii = 1 TO LENC(ArrayName[i])
c1 = SUBSTRC(ArrayName[i],ii,1)
IF INLIST(c1,"已","进")
EXIT
ENDIF
IF ISDIGIT(c1)
c2 = c2 + c1
ENDIF
ENDFOR
c3 = SUBSTR(c2,9)
c2 = LEFT(c2,8)
?c2 + "-" + LEFT(c2,8 - LEN(c3)) + c3
ENDFOR
CLEAR
TEXT TO cStr NOSHOW
NO.04833357-04833358已认证进项
NO.04833357~04833358已认证进项
NO.04833357:04833358已认证进项
NO.04833357:04833358已认证进项
NO.04833357,-04833358已认证进项
NO.04833357,04833358已认证进项
NO.04833357、04833358已认证进项
NO.04833357.04833358已认证进项
NO.04833357。04833358已认证进项
NO.04833357&04833358已认证进项
#04833357,04833358进项发票
NO.04833357任何汉字或字母或空格04833358已认证进项
NO.04833357-366已认证进项(366-357小于50张时)
NO.04833357,366已认证进项
ENDTEXT
=ALINES(ArrayName,cStr)
FOR i = 1 TO ALEN(ArrayName)
c2 = ""
n1 = 0
FOR ii = 1 TO LENC(ArrayName[i])
c1 = SUBSTRC(ArrayName[i],ii,1)
IF INLIST(c1,"已","进")
EXIT
ENDIF
IF ISDIGIT(c1)
c2 = c2 + c1
ENDIF
ENDFOR
c3 = SUBSTR(c2,9)
c2 = LEFT(c2,8)
?c2 + "-" + LEFT(c2,8 - LEN(c3)) + c3
ENDFOR
坚守VFP最后的阵地