VB里是这样写的
Private command1_click()dim a() as string,b as stringb="1|2|3|4"a()=split(b,"|")for i = 0 to ubound(a)msgbox a(i)nextend sub主要是实现用数组来存放多个字符串与分割字符串函数split()
Private command1_click()dim a() as string,b as stringb="1|2|3|4"a()=split(b,"|")for i = 0 to ubound(a)msgbox a(i)nextend sub主要是实现用数组来存放多个字符串与分割字符串函数split()
定义一个动态数组(最终存储数据)
建立一个TSTRINGLIST类型的变量(先用来存储分解出来的字符串)
用一个WHILE循环分解出字串终止条件是pos('|',yourstring)=0
分解的思路是分解出一段就加到TSTRINGLIST变量里ADD方法可以实现
然后用个变量存储余下的字符串,当然用COPY()函数解决了但你自已需算出位置
最后根据TSTRINGLIST变量的COUNT属性定义动态数组的最终大小
乘下的就是将TSTRINGLIST变量中的数据通过一个循环保存到数组中啦
var
ts: TStringList;
s: String;
i: integer;
begin
s := 'a|b|c|d|e';
s := StringReplace(s, '|', #13#10, [rfReplaceAll]);
ts := TStringList.Create;
ts.Text := s;
for i := 0 to ts.count - 1 do
ShowMessage(ts[i]);
ts.Free;
end;