c#
正しくは、.net 1.1以降?
文字列の処理に”文化”が適用されるようになったみたいです
この文化って何でしょうか??
良くは分からないのですが
”ア”と”あ”が同一視されて処理されるらしいです(日本語の場合)
まぁ、どの程度まで同一視して、どの辺りは同一視しないかとか、色々と指定が出来るみたいです。
で、問題なのがindexofです。
String.indexofには文章の中に、別の指定した文が入っている場所を探してくれるメソッドです。
123456789
の中に
456
が無いか探す、もしくは場所を調べることが出来、実行後には場所を教えてくれます。
で、問題の文章がこれ
" 0 ゜"の中から" 0 "を探すと、見つからないと言います。
この゜がポイントなのです。
たとえば
"は゜"と"ぱ"を比べると 同一と言われます。
”は”と”゜”をくっつけて「ぱ」として処理され、ぱ = ぱ となり、
同一と言われるわけです。
じゃぁ、0に゜をつけた場合、どういった処理になるのでしょうか??
っていうか、間に入っているスペースはどういった処理にされているのでしょうか??
様々なパターンを入力し、" 0 ゜"と同一とされる文を探したのですが、結局見つからず・・・(注:あくまでindexofで" 0 "を探す的な方法で)
このカルチャー的な処理で、どのように変化しているのか、日本人なのに分からない始末(笑
それって本当に、文化対応なのでしょうか??
まぁ、マイクロソフトですからね、そういう物なのでしょう
ちなみに、カルチャー機能そのものをOFFにするのは無しです。
使ってますからw
でも、カルチャーって言葉を聞くと
カルチャースクールとかカルチャーセンターとか、どれもが、いかがわしく聞こえるのはあたしだけでしょうか?
|