くだすれDelphi(超初心者用)その48
at TECH
186:ななしへたぐらま ◆XcB18Bks.Y
08/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を付けないと使えないみたいです。
でも今回はそれが原因ではない気もします。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4250日前に更新/151 KB
担当:undef