来自:fnxyy > 馆藏分类
配色: 字号:
VFP9怎样分割字符串
2015-09-07 | 阅:  转:  |  分享 
  
VFP9.0怎样分割字符串(2009-01-0922:01:00)转载▼标签:杂谈在VFP中如果要分割字符串,就要用到ALINES函数
,下面先将该函数的具体用法帖一下,然后举例说明其用法和注意事项。ALINES()函数将一个字符表达式的或备注字段中的每一行复制
到一个数组相应行。ALINES(ArrayName,cExpression[,lTrim][cParseChar,,?,
cParseChar])返回值数值型参数ArrayName指定数组的名称,将字符表达式或备注字段中的每一行复制到该一个数组中。如果
所指定的数组不存在,VisualFoxPro会自动创建该数组。如果该数组存在,但是大小不足以容纳备注字段中的每一行,则Vi
sualFoxPro自动增加该数组的大小。如果该数组比所需的要大,则VisualFoxPro会截短该数组。cExpre
ssion指定字符表达式或备注字段,其中包含要复制到数组中的行。如果cExpression是空字符串或null值,会创建一个
具有单行的数组,并且该行包含空字符串。lTrim指定是否从复制到数组的行中删除前导和后缀空格。如果lTrim为“真”(.T.
),则从行中删除前导和后缀空格。如果lTrim为“假”(.F.)或省略,则不删除前导和后缀空格。cParseChar指定
一个或多个由ALINES()返回的cExpression中的分隔元素的字符。cParseChars的最大值是23。各
cParseChars串的最大长度是11字符。备注ALINES()返回数组的行数(或者,同样地返回字符表达式或备注字段的行
数)。字符表达式或备注字段的第一行复制到数组的第一行,字符表达式或备注字段的第二行复制到数组的第二行,依次类推。所有字符表达式
是大小写敏感的。一个换行符(CHR(10))或回车符(CHR(13))表明了一行的结束。也可以使用这些字符的组合(CH
R(10)+CHR(13)或CHR(13)+CHR(10))表明一行的结束。ALINES()提供了分析字符表达式或备注字
段中各行的简单方法。虽然MLINES()也用来分析字符表达式或备注字段,但是ALINES()更快,并且需要更少的编程。另外,
ALINES()不受SETMEMOWIDTH的值的影响。为了将字符表达式或备注字段中的行复制到数组,必须有足够的内存。如
果内存不足,VisualFoxPro会生成一条错误信息。如果你想执行一个大小写敏感的分解,可以按以下示例中的一个来做。?A
LINES(aMyArray,UPPER(employee.notes),"R.")?ALINES(aMyArray,empl
oyee.notes,"R.","r.")示例下面的程序在数据库testdata中打开表employee。alines
()用于复制notes备注型字段中的行到名为amyarray的数组中,然后显示数组的内容。本示例中,alines()返回
1,因为在备注字段中输入雇员信息时,句子后没有按enter键。CLOSEDATABASESCLEARSETTALKOF
FOPENDATABASE(HOME(2)+''data\testdata'')USEemployee&&打开Empl
oyeetable?ALINES(aMyarray,employee.notes,CHR(13))&&显示1?ALINE
S(aMyarray,employee.notes,".")&&显示7?ALINES(aMyarray,employee.n
otes,",")&&显示4?ALINES(aMyarray,employee.notes,"")&&显示75?AL
INES(aMyarray,employee.notes,".",",")&&显示10?ALINES(aMyArray,
employee.notes)&&显示1?aMyArray(1)以上就是该函数的用法。比如s="xx,yy,zz",现在我们
以,来分割s这个字符串,并将结果保存到数组aa:ALINES(aa,s,1,",")注意数组aa的取值下标是从1开始的,这里,aa(1)="xx",aa(2)="yy",aa(3)="zz"
献花(0)
+1
(本文系fnxyy首藏)