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

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



石黒さん、大崎さん、

おはようございます。大島です。
私の問いに対してご意見ありがとうございます。

石黒さんのおっしゃること「コンピュータのアーキテクチャに
もう少し考えを届かせた方がよい」というのはもっとも
だと思います。

ですが、私はコンピュータ内部で、正規表現がどのように計算されてマッチ
を行うのか具体的にはよくわからないで、「すべて大文字小文字にするか」
と「Patter クラスをつかう」がどちらがパフォーマンスがよくなるか
想像できません。

ですので、実際にやってみたいと思います。

あと、Perl だったら一発でできるのに。。というのは、方法として
そういうマッチの方法が Perl にはあるのに Java にはないのだなあ
ということが言いたかっただけで、だから Perl のが パフォーマンスが
よいといことではありません。これもやっぱり検証などして確かめなくては
分からないことだと思います。


以上です。宜しくお願い致します。




大崎 洋平 wrote:

>大崎です。
>
>  
>
>>>今回は、たくさんのデータを検索するので、すべて小文字か大文字に
>>>するのはちょっとパフォーマンスが悪くなるのでは。。とおもった
>>>      
>>>
>>思うのは自由ですが、ちょっと筋が悪いと思います。
>>コンピュータのアーキテクチャにもう少し考えを届かせたほうがよいか
>>と思います。
>>    
>>
>
>.... snip ...
>
>  
>
>>>すべて小文字か大文字で統一して indexOf で調べるのが
>>>      
>>>
>>やり方としておかしくないし、効率的であることが想像できます。
>>    
>>
>
>そうでしょうか?
>indexOf()を使った場合、検索対象の文字列と同じサイズの文字列をもう一つ作
>ることになりますよね。
>そして、そのすべての文字列を調べて、大文字、小文字を入れ替えることになり
>ますよね。
>本当に効率的だといえますか?
>
>正規表現を使う場合、部分的にもマッチしない箇所は比較が行われないはずです。
>(つまり、大文字、小文字の変換も行われません。)
>私にはこちらのほうが効率的に思えるのですが。
>
>大島さんの調査報告をお待ちしております。
>
>  
>