[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00413] Re: 文字列にある文字列が含まれるかどうかを調べる方法 ( 大文字小文字を区別しない)



こんばんわ。大島です。

私が求めていたものは、Matcher.find() でした。これだと Perl と
おなじ検索マッチをしていることになります。これでやったらすべて
大文字に変える方法よりも早くなりました。

10000 回で 30283 ミリ秒という結果(すべて大文字にするのは、
45990 ミリ秒でした)

# .*yukie.* なんて効率悪そうだな。。でもこの方法しかないのかしら。。
# と思いながらやっていましたので。。

捕捉ですが、私のテストだと一行一行読み込んでテストしていましたが
ファイルを一揆に読み込んでテストすると検索はとても早くなります。

Match.find() で一揆読み込みにすると 16422 ミリ秒になりました。

# 石黒さんのご指摘です。ありがとうございました。
# Perl で一揆読みこみにすると、4000 ミリ秒とこれまたとても早くなりました。

ここで、私として調べてみたいとおもったのは、今回は、英文字のテキスト
ファイルでしたがこれが日本語になると Perl と Java の正規表現が
どちらの処理が早くなるかということです。

結果がでましたらまた御報告させて頂きたいと思います。

# この問題についてその他たくさんのご意見ありがとうございまいした。
# 今後とも宜しくお願い致します。






Yohei Osaki wrote:

>大崎です。
>
>正規表現を使う方法では、Matcher.find()を使うとちょっと早くなります。
>その場合、正規表現の文字列は、".*yukie.*"ではなく、"yukie"に変えて下さい。
>
>  
>