プロフィール


Live!Ads

カテゴリ

iPad (2)

スポンサー


検索(サイト内)

全タイトルを表示


最近の記事

最近のコメント

最近のトラックバック

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



【--/--/-- --:--】 スポンサー広告| tb(-) cm(-)

[Android][Java]String.split の引数は正規表現です!

String.split でハマった話。

"A|B|C" こんな文字列を「|」で分割して {"A","B","C"} な配列にしたい。

と思って、
"A|B|C".split("|")
としたら、結果が {"A","|","B","|","C"} な配列になってしまった。

どーにも分からなくて、日本Androidの会 で教えていただいた。



split の引数は正規表現なので「|」はメタ文字である。
なので \ をつけなければならないが、Java では \ はエスケープ文字なので、\ を文字として表すには \\ としなければならない。

よって、

"A|B|C".split("\\|")

が正解。
正しく、{"A","B","C"} が取得できた。


.NET の String.Split は引数が正規表現でない普通の文字なので、てっきり同じなのかと思ってしまいました。
ヘルプを見たら「指定された正規表現に一致する位置で分割します」とちゃんと書いてありました。

.NET と同じメソッドだからといって、引数の意味まで同じとは限らない。
ちゃんと Java や Android のリファレンスで確認しましょう > 自分(汗
スポンサーサイト
【2010/10/06 01:25】 Android| tb(0) cm(0)
タグ : Android
<<[Twitter][API]Twitter API の位置検索のビミョーなところ | ホーム | IS03 発表されたよ、どうすんの?>>
コメント
コメントの投稿

管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://oku2006.blog43.fc2.com/tb.php/1607-78debbad
| ホーム |
アクセスランキング
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。