当前位置: 代码迷 >> VFP >> VFP 中有没有把字符串转换为数组的函数解决方案
  详细解决方案

VFP 中有没有把字符串转换为数组的函数解决方案

热度:6035   发布时间:2013-02-26 00:00:00.0
VFP 中有没有把字符串转换为数组的函数
比如:

sStr="A=b;C=d;e=f"

类似 VB  split 

把这个字符中分成
一维数组 A=B  C=d  E=f
或者是 
二维数组。A   B
          C   D
          e   f






------解决方案--------------------------------------------------------
没有专用的,可以自己写代码。
*---VFP9.0代码
CLEAR
SSTR="A=B;C=D;E=F"
*---一维数组
LOCAL SJ(GETWORDCOUNT(SSTR,";")) && 定义一维数组
FOR I=1 TO GETWORDCOUNT(SSTR,";")
    SJ(I)=GETWORDNUM(SSTR,I,";")
ENDFOR
LIST MEMORY LIKE SJ
*---二维数组
LOCAL SJ(GETWORDCOUNT(SSTR,";"),2) && 定义二维数组
FOR I=1 TO GETWORDCOUNT(SSTR,";")
    S_STR=GETWORDNUM(SSTR,I,";")
    FOR J=1 TO GETWORDCOUNT(S_STR,"=")
        SJ(I,J)=GETWORDNUM(S_STR,J,"=")
    ENDFOR
ENDFOR
LIST MEMORY LIKE SJ

------解决方案--------------------------------------------------------
没有专用的,可以自己写代码。
*---VFP9.0代码
CLEAR
SSTR="A=B;C=D;E=F"
*---一维数组
LOCAL SJ(GETWORDCOUNT(SSTR,";")) && 定义一维数组
FOR I=1 TO GETWORDCOUNT(SSTR,";")
    SJ(I)=GETWORDNUM(SSTR,I,";")
ENDFOR
LIST MEMORY LIKE SJ
*---二维数组
LOCAL SJ(GETWORDCOUNT(SSTR,";"),2) && 定义二维数组
FOR I=1 TO GETWORDCOUNT(SSTR,";")
    S_STR=GETWORDNUM(SSTR,I,";")
    FOR J=1 TO GETWORDCOUNT(S_STR,"=")
        SJ(I,J)=GETWORDNUM(S_STR,J,"=")
    ENDFOR
ENDFOR
LIST MEMORY LIKE SJ

------解决方案--------------------------------------------------------
一维可以,二维需要你自己写循环处理

一维: 
alines(aTemp, "A=b;C=d;e=f", 1+2+4, ';')
? aTemp[1], aTemp[2], aTemp[3]
  相关解决方案