为什么我这段代码返回为空呢?
delphi吧
全部回复
仅看楼主
level 7
function StrCut(AllString,LeftStr,RightStr:string):string;
var
PosLeft,PosRight,LenLeft,LenRight:integer;
begin
PosLeft:=0;
PosRight:=0;
LenLeft:=length(LeftStr);
LenRight:=length(RightStr);
PosLeft:=Pos(LeftStr,AllString);
PosRight:=Pos(RightStr,AllString);
if (posLeft*posRight<>0) then
begin
Result:=MidStr(AllString,PosLeft,LenRight-PosLeft);
end
else
begin
Result:='';
end;
end;
2015年02月16日 15点02分 1
吧务
level 14
你调用midstr的那句想干啥?
2015年02月16日 15点02分 2
想截取一个完整字符串,给定左边的一段字符,还有右边的一段字符,就可以把中间的文本取出来。
2015年02月16日 15点02分
回复 cushaw95 :你传的参数能有这个效果?
2015年02月16日 16点02分
level 7
只是初步调试,不用看细节,只求看看为什么返回值为空?
2015年02月16日 15点02分 3
level 7
@BambooCaep 群主:
不知道为什么改成这样就可以了,我感觉 一楼的if (posLeft*posRight<>0) then这一行代码出了古怪,现在解决了,谢谢啊!
function StrCut(AllString,LeftStr,RightStr:string):string;
var
PosLeft,PosRight,LenLeft,LenRight:integer;
begin
PosLeft := 0;
PosRight := 0;
LenLeft := Length(LeftStr);
LenRight := Length(RightStr);
PosLeft := Pos(LeftStr,AllString);
PosRight := Pos(RightStr,AllString);
if ( PosRight > PosLeft) then
begin
Result := copy(AllString,PosLeft + LenLeft,PosRight - PosLeft - LenLeft);
end
else
begin
Result := '';
end;
end;
2015年02月16日 16点02分 4
1