Groovyで文字列の一部を破壊的に削除する
「Groovyで文字列の一部を破壊的に削除する」ことはできない。
だって、Groovy/Javaでは、Rubyのsub!()のように直接文字列オブジェクトを変更はできないもん。(だよね?)
できるそうだ。
Groovyで文字列の途中に文字列を挿入するの添削を参照。
自分自身に代入するんだろうなぁ。
ソース
str1 = "あいあいあい" str2 = str1.replaceFirst(/あい/,"") println str1 println str2 str1 = str1.replaceFirst(/あい/,"") println str1 str3 = "goooooooooooooogle" str4 = str3.replaceAll(/o/,"") println str3 println str4 str3 = str3.replaceAll(/o/,"") println str3 str5 = "kuma-" str6 = str5.toList() str6[0] = '' str7 = str6.join() println str5 println str6 println str7 str5 = "kuma-" str5 = str5.toList() str5[0] = '' str5 = str5.join() println str5
実行結果
あいあいあい あいあい あいあい goooooooooooooogle ggle ggle kuma- [, u, m, a, -] uma- uma-
添削歓迎
ここ間違ってるよ
こうした方がGroovyらしくないか?
などなど
方法は、コメント、トラックバック、はてブ、Twitter @orange_clover宛 で、お願いしまます。
実行環境
- OS:Windows XP
- Groovy Version: 1.6.5
- JVM: 1.6.0_12
Groovyの詳細についてはJavadocと以下の書籍を参考にしている。
Dierk Konig、Andrew Glover、Paul King、、Guillaume Laforge、Jon Skeet、杉浦 孝、櫻井 正樹、須江 信洋、関谷 和愛、佐野 徹郎、寺沢 尚史
Amazonでご確認ください。
問題自体は第2版のもの。rubyと似てる部分も多いので、ヒントにもなる。
写経でもいいが自分で考えるために他言語の例をGroovyで置き換えてる。
Groovyイン・アクションを読むならあった方が便利かな。