注册 登录
编程论坛 VFP论坛

请教:有没有根据字符串中的指定字符产生数组的函数

laibinhua 发布于 2023-08-10 09:02, 912 次点击
请教:有没有根据字符串中的指定字符产生数组的函数,比如  lma1='ab,cd,ef,gh'  根据,符号自动分隔成一维数组,4个值 ab  cd ef gh
8 回复
#2
weiyisc2023-08-10 09:12
程序代码:

lma1='ab,cd,ef,gh'
arrLen=ALINES(lcArray,lma1,',')

?'数组长度',arrLen

FOR i=1 TO arrLen
?'数组值:',lcArray(i)
ENDFOR


不知道是不是需要这种效果。
#3
laibinhua2023-08-10 09:20
回复 2楼 weiyisc
谢谢回复,如果中间空着就产生不了4个数组值,只有3个,比如 lma1='ab,cd,,ef' 只有3个,分别是Ma[1]='ab'  Ma[2]='cd'  Ma[3]='ef' 我希望这样Ma[1]='ab'  Ma[2]='cd' Ma[3]=''  Ma[4]='ef'

[此贴子已经被作者于2023-8-10 09:24编辑过]

#4
csyx2023-08-10 09:33
以下是引用laibinhua在2023-8-10 09:20:09的发言:

谢谢回复,如果中间空着就产生不了4个数组值,只有3个,比如 lma1='ab,cd,,ef' 只有3个,分别是Ma[1]='ab'  Ma[2]='cd'  Ma[3]='ef' 我希望这样Ma[1]='ab'  Ma[2]='cd' Ma[3]=''  Ma[4]='ef'

瞅岔劈了吧,仅当第三个参数包含 4 时才会去掉空白元素
? ALines(aaa,'ab,cd,,ef',4,',')
? ALines(aaa,'ab,cd,,ef',1+4,',')

下面这些都会保留空白元素
? ALines(aaa,'ab,cd,,ef',',')
? ALines(aaa,'ab,cd,,ef',1,',')
? ALines(aaa,'ab,cd,,ef',1+2+8,',')


[此贴子已经被作者于2023-8-10 09:35编辑过]

#5
laibinhua2023-08-10 10:09
回复 4楼 csyx
谢谢回复
#6
sdta2023-08-10 13:40
楼主VFP什么版本
#7
laibinhua2023-08-13 15:46
回复 6楼 sdta
vfp9.0
#8
ljb88642023-08-13 19:58
回复 4楼 csyx
split  与alines 哪个更优
#9
csyx2023-08-13 20:44
以下是引用ljb8864在2023-8-13 19:58:55的发言:

split  与alines 哪个更优

vfp 哪有 split 函数?C/C++/Java/JS/VB/... 等等倒是都有这个函数或方法
1