如 beginday;endday;daye
要求把它分开取出
str1:=beginday;
str2:=endday;
str3:=daye;
//----------
如 beginday;endday;daye;asd;asdf;aa
str1:=beginday;
str2:=endday;
str3:=daye;
str4:=asd;
str5:=asdf;
str6:=aa;
要求把它分开取出
str1:=beginday;
str2:=endday;
str3:=daye;
//----------
如 beginday;endday;daye;asd;asdf;aa
str1:=beginday;
str2:=endday;
str3:=daye;
str4:=asd;
str5:=asdf;
str6:=aa;
var
Temp: string;
i: Integer;
begin
Temp := Source;
i := Pos(Division, Source);
while i <> 0 do
begin
Strings.Add(Copy(Temp, 0, i - 1));
Delete(Temp, 1, i);
i := Pos(Division, Temp);
end;
Strings.Add(Temp);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SplitString(';', 'beginday;endday;daye;asd;asdf;aa',Memo1.Lines);
end;
存进去,用循环检查这字符串,如str[1],str[2]看是不是';',如果是,把前面的存起来
,最后,把存的结果相减
vResultStrings:TStrings;
vOldStr:String;
i:integer;
begin
vOldStr:='adf;gwgwerg;aegwegweg;egege'; //你要分开的源字符串
vResultStrings:=TStringList.Create;
vResultStrings.Text:=StringReplace(vOldStr,';',#13#10,[rfReplaceAll, rfIgnoreCase]);
//把';'换成换行符放到Tstrings里面,就会自动分成一个个字符串了。
for i:=0 to vResultStrings.Count -1 do //显示出来而已
ShowMessage(vResultStrings[i]);