文字列を分解する
(Professional 版以上) あるセパレータで文字を分解したい事がたまにあります。HTTPAppユニットにはそんな要望に応える ExtractHTTPFields関数というものが用意されています。名前からも解るとおり、本来は http://〜 の文字列を分解するための関数のようです。
| ■ 文字列を分解する例 |
procedure TForm1.FormCreate(Sender: TObject);
var
strValue : string;
chrSepa,chrWhite : TCharSet;
sltResult : TStringList;
begin
{ 対象文字列 }
strValue := 'http://www.borland.co.jp/delphi/technical/tec0010.html';
{ 結果をセットする TStrings互換型 }
sltResult := TStringList.Create;
sltResult.Clear;
{ セパレータ いくつでもOK }
chrSepa := ['/','.'];
{ 無視する文字、これもいくつでもOK }
chrWhite := ['w'];
{ 分解 }
ExtractHTTPFields(chrSepa,chrWhite,PChar(strValue),sltResult);
{ 結果を ListBoxへ (ExtractHTTPFields( 〜,ListBox1.Items); でもOK }
ListBox1.Items.Assign(sltResult);
sltResult.Free;
end;
|
※ uses節 に HTTPAppを追加してください。
[結果]
http:
borland
co
jp
delphi
technical
tec0010
html