喫茶XRAYトップページ

[スレッド全体
]

[3401] Re:なにか妙案はないでしょうか?返信 削除
2010/5/31 (月) 22:37:48 Mr.XRAY
>なにか妙案はないでしょうか?

ないです.なんて...

> ファイルをTstringlitsに読み込んで、indexofでヘッダを見つけ、

リソースが許されるマシンならTStringListに読み込むのは
たいした問題ではないと,ということにして.
問題は,そのヘッダなりの文字の検索速度だとおもうんです.

infexOfやPos関数で検索すると遅いです.
文字列のポインタを使用するが早いと思いますが...
Unicodeでないなら,以下のコードが使えそうです(いや使えます).

5−1 部分文字列を数える
のコードで,1つだけ検出したら終了するという感じにするとかですね.

http://mrxray.on.coocan.jp/Halbow/VCL05.html


[3402] Re2:なにか妙案はないでしょうか?返信 削除
2010/5/31 (月) 22:59:06 Mr.XRAY
> 5−1 部分文字列を数える
> のコードで,1つだけ検出したら終了するという感じにするとかですね.
>
> http://mrxray.on.coocan.jp/Halbow/VCL05.html


これは逐次検索ですが,世の中には検索のアルゴリズムがいろいろ
あります.
おそらく,gawkや小宮さんのDelphi用正規表現ユニット「SkRegExp」
などはこのようなアルゴリズムを利用していると思われます.
逐次検索のコードは簡単ですけどね.

Delphi用正規表現ユニット「SkRegExp」
http://komish.com/softlib/skregexp.htm


[3403] Re2:なにか妙案はないでしょうか?返信 削除
2010/5/31 (月) 23:12:10 たてぐや 〔HomePage
▼ Mr.XRAYさん

> 問題は,そのヘッダなりの文字の検索速度だとおもうんです.
> infexOfやPos関数で検索すると遅いです.
> 文字列のポインタを使用するが早いと思いますが...


 早速ありがとうございます。Indexof関数って、瞬時に帰ってくるのだと
思っていましたが、そうではないようですね。文字列ポインタによる検索は
ずっと昔にTurboPASCALのころのやったかもしれません。さっそく取り組んで
みることにします。

※こういうふうに出てくるのがMr.XRAYさんの宝箱の宝箱たるゆえんですね。

[3404] Re3:なにか妙案はないでしょうか?返信 削除
2010/5/31 (月) 23:18:00 Mr.XRAY
▼ たてぐやさん.どうもです.

> ※こういうふうに出てくるのがMr.XRAYさんの宝箱の宝箱たるゆえんですね。

前にも誰かが書いていましたが,実は,全てリンクのページか
サンプルプログラム集関係なんです.タネ明かしです.

この際,正規表現を使うまでもないでしょうが,
正規表現を試してみてはいかがでしょう.
ある文字列で囲まれた行だけを取り出すとか,変換するとかも
できます.

サイトのHTMLファイルの編集に使っています.
サイトの一括整備の時にですから,ほんとにたまにですが.


[3408] Re3:なにか妙案はないでしょうか?返信 削除
2010/6/2 (水) 05:56:11 Mr.XRAY
▼ たてぐやさん

>  早速ありがとうございます。Indexof関数って、瞬時に帰ってくるのだと

IndexOfはPos関数よりは速いですハズですが...
IndexOfで遅いなら,他のアルゴリズムでもあまり期待できないかな?

それよりも遅いマシンが問題だったりして.
よく巡回している「廃品回収」は結構高いですよ(ん? 何の話?)


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82