忍者ブログ

[PR]

2025年04月29日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

文字列検索

2013年12月18日

文字列の中から特定の文字列を探しだす関数はPosです。
また指定した文字数以降から探す場合はStrUtilsに含まれるPosExです。
一番最後に見つかる位置を知りたい場合は探す文字列と探される側の文字列の両方をReverseStringでひっくり返してPosを使えば調べることが出来ます。
その結果を使いやすいように加工した例が下記になります。

//最後に見つかる文字列位置を調べる
function LastPos(const substr, str: String) : Integer;
begin
  result := Length(str) - Pos( ReverseString(substr) , ReverseString(str) ) - Length(substr) + 2;
end;


//使用例
procedure TForm1.Button1Click(Sender: TObject);
const
  str    = '012345678901234567890123456789';
  substr = '345';
begin
  Edit1.Text := IntToStr(     Pos  (substr , str    ) );
  Edit2.Text := IntToStr(     PosEx(substr , str , 8) );
  Edit3.Text := IntToStr( LastPos  (substr , str    ) );
end;
結果は4,14,24となります。

拍手[9回]

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字