- 題名: IndexOfがうまく動作しない
- 日時: 2007/01/27 13:44:56
- ID: 18942
- この記事の返信元:
- (なし)
- この記事への返信:
- [18944] Re[1]: IndexOfがうまく動作しない2007/01/27 16:42:23
- ツリーを表示
■No18942に返信(こうささんの記事)
> string aa = "あいう゜えお";
> int val = aa.IndexOf("いう");
>
> とすると、valが-1になってしまいますが、
> 原因と対策が分かる方、ご教授いただけると幸いです。
どうも仕様のような気がします。
例えば以下のようにすると
string aa = "あいか゛えお";
int val = aa.IndexOf("が");
val に 2 が入りますし、そういうものかもしれません。
(詳しくないのであまり言及できないけど、Unicode 関係の話かな?)
対策…というか、こういう仕様な以上は下のようにベタな方法でやってみる
しかないかもしれないですね。
# あまりにベタすぎて目から汗が orz
string aa = "あいう゜えお";
string bb = "いう";
for (int i = 0; i < aa.Length - bb.Length; i++)
{
if (aa.Substring(i, bb.Length) == bb)
{
MessageBox.Show(i.ToString());
break;
}
}
なんかあまり役に立てなくてすいません。
分類:[.NET]
VS2003, C# の環境で、
string aa = "あいう゜えお";
int val = aa.IndexOf("いう");
とすると、valが-1になってしまいますが、
原因と対策が分かる方、ご教授いただけると幸いです。