今天找到怎么避免取半个中文,分享给大家。
怎么避免取半个中文呢?1、用LENC()?SUBSTRC()?LEFTC()?是能实现,但有很多局限性,对中文数字混合的时候,难做到准确需要的长度,为什么,这里不谈了
2、还是用SUBSTR,但要判断1下?如下
a1="1你妈的B,死人1的就不知道a去死了9"
FOR I=1 TO LEN(A1)
IF ISLEADBYTE(SUBSTR(A1,I,1))=.T.
?SUBSTR(A1,I,2)
I=I+1
ELSE
?SUBSTR(A1,I,1)
ENDIF
ENDFOR
怎么样?比如我要存的最大长度是20,我就把字段长度起为21,超过20时,查最后1位20,如果是半个字符,就取21位,否则,就取20位
为什么不用LENC()和SUBSTRC(),如果本字母混合,如
B1="12难难安南岸123啊啊啊啊"
C1=SUBSTRC(B1,1,10)
?LEN(C1)
取的是15,但不是20,所以不能用这个LENC()+SUBSTRC()