读书人

获取特定位置的字符串,该如何处理

发布时间: 2012-02-21 16:26:23 作者: rapoo

获取特定位置的字符串
有这样的字符串“旅游,2007-04-30 12-02-10,地方”我想获取两个逗号之间的时间, 一直取不对,上来问问

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
StartIndex, Count: Integer;
begin
s := '旅游,2007-04-30 12-02-10,地方 ';
StartIndex := Pos( ', ',s);
if StartIndex > 0 then
begin
Count := Pos( ', ',Copy(s,StartIndex+1,Length(s)-StartIndex)+1);
if Count > 0 then s := copy(s,StartIndex+1,Count-1);
end;
ShowMessage(s);
end;

[解决办法]
//如果时间的长度是固定的 19 可以这样:
var
s1,s2:string;
nPos:integer;
begin
s1:= '旅游,2007-04-30 12-02-10,地方 ';
nPos:=Pos( ', ',s1);
s2:=Copy(s1,nPos+1,19);
showmessage(s2);
end;


//如果不固定可以这样:
var
s1,s2:string;
nPosBegin,nPosEnd:integer;
begin
s1:= '旅游,2007-04-30 12-02-10,地方 ';
nPosBegin:=Pos( ', ',s1);
nPosEnd:=LastDelimiter( ', ',s1);
s2:=Copy(s1,nPosBegin+1,nPosEnd-nPosBegin-1);
showmessage(s2);
end;

读书人网 >.NET

热点推荐