怎样反向查找字符串中的指定的字符串?解决方法
怎样反向查找字符串中的指定的字符串?
比如一串字符“ab3cdd3450”
我要从最后查找这串里面的第1个“3”在这串字符中的位置,结果应该是第7个才对,函数该怎么写?
------解决方案--------------------
uses SysUtils.pas
Edit1.Text := StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
上面是找单个字符的,改成下面就可以找字串了,
比如一串字符“ab3cdd3450”
我要从最后查找这串里面的第1个“3”在这串字符中的位置,结果应该是第7个才对,函数该怎么写?
------解决方案--------------------
uses SysUtils.pas
Edit1.Text := StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
上面是找单个字符的,改成下面就可以找字串了,
- Delphi(Pascal) code
function GetCharPos(SubStr,MainStr:String):integer; var s1,s2: String; i,Pos1,Pos2: Integer; begin Result := 0; for i := Length(SubStr) downto 1 do s1 := s1 + SubStr[i]; for i := Length(MainStr) downto 1 do s2 := s2 + MainStr[i]; Pos1 := Pos(s1,s2); Pos2 := Length(MainStr) - Pos1 - Length(s1) + 1 + 1; Result := Pos2; end; procedure TForm1.Button2Click(Sender: TObject); var s1,s2: String; ipos: Integer; begin s1 := 'd345'; s2 := 'ab3cdd3450'; iPos := GetCharPos(s1,s2); ShowMessage(IntToStr(iPos)); end;