[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 07/05 09:41 / Filesize : 151 KB / Number-of Response : 533
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その48



186 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/17(月) 22:04:12 ]
>>162
こんな時こそ正規表現ライブラリを使うべし。
正規表現ライブラリはいろいろありますけど今回はskRegExpで。
日本語のヘルプもあるので比較的使いやすいと思います。

そのものズバリのコードも書いてしまったのですが勉強にならないと思うので
今回は変換したい部分を特定するコードのサンプルだけ。

const
 cSample = 'I want to convert "→" and "&#rarr;" into right arrow!';
var
 exp: TSkRegExp;
 Converted: string;
begin
 Writeln('Sample:"', cSample, '"');
 exp := TSkRegExp.Create;
 try
  exp.Expression := '&#[0-9]+;|&#[A-Za-z]+;'; // 見つけたいパターンは「&#,0から9のどれかが1文字以上,;」または「&#,A〜Zかa〜zが1文字以上,;」
  if exp.Exec(cSample) then // 先頭からパターンに一致するところを探せ.もし見つかったなら…
   repeat
    Writeln('見つけた!: 「', exp.Match[0], '」 ', exp.MatchPos[0], '文字目から', exp.MatchLen[0], '文字分');
   until not exp.ExecNext; // 次を探せ.見つからなかったらループを抜ける.
 finally
  exp.Free;
 end;
end.

>>168-169
as 演算子によるインターフェースへのキャストはGUIDを付けないと使えないみたいです。
でも今回はそれが原因ではない気もします。







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<151KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef