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宛 で、お願いしまます。



実行環境






Groovyの詳細についてはJavadocと以下の書籍を参考にしている。




Dierk Konig、Andrew Glover、Paul King、、Guillaume Laforge、Jon Skeet、杉浦 孝、櫻井 正樹、須江 信洋、関谷 和愛、佐野 徹郎、寺沢 尚史

Amazonでご確認ください。



問題自体は第2版のもの。rubyと似てる部分も多いので、ヒントにもなる。
写経でもいいが自分で考えるために他言語の例をGroovyで置き換えてる。




青木 峰郎、後藤 裕蔵、高橋 征義、まつもと ゆきひろ

価格: ¥ 2,940
価格は記載時点のものです。購入前にAmazonでご確認ください。




Groovyイン・アクションを読むならあった方が便利かな。

Rubyレシピブックは「ほんたった」で立ててる