Javaでチカンしたくて
2009/05/24, 02:22
触りません.置き換えたいだけです.
詳しくは他のサイトに譲るとして,こんなシチュエーションをJavaで実現する方法.
いけない画像.jpg rw-r--r--
ないしょの写真.JPG rw-r--r--
各行のファイル名だけ取り出したいときの置換.
String line = br.readLine();
System.out.println(line.replaceAll("(?i)[\s]*([^\s]+.jpg).*", "$1");
これを複数回ぐりぐり回せばいいはず.で,各行のメモ.
1行目はまあ,気にスンナ.たぶん,僕は1年たっても意味がわかる.
2行目がミソ.replaceAllは正規表現をさらっと適用してくれる子だ.
第1引数の最初(?i)の意味は小文字,大文字を無視.Perl等の末尾に付けるiといっしょだね.他にもオプションを付け加えることができるようだ.
で,第2引数の$1は,第1引数でマッチしたカッコ内に対応している.$0はマッチした全体.カッコの左から順番に番号が付くので対応するものを書けばそれに置換される.
なにをやろうとしてるかは,まあ,気にしないでね.あと,もっと上手い方法は沢山あると思う.もし良ければ教えてくだされ.