Groovyで文字列の先頭・末尾から空白を取り除く
id:torazuka 作 Groovyたんの座り絵バージョン
文字列先頭・末尾の両方の空白類文字を除去
ソース
println "\tキュッと\r\n".trim()
実行結果
キュッと
文字列先頭の空白類文字だけ除去
ソース
def lstrip(str){ str.replaceAll(/\A\s+/,"") } println lstrip("\tキュッと\r\n")
実行結果
キュッと
改行は、\r\n
文字列先頭・末尾の全角空白文字も取り除く
ソース
def jstrip(str){ str.replaceAll(/\A[\s ]+/,"").replaceAll(/[\s ]+\z/,"") } def jlstrip(str){ str.replaceAll(/\A[\s ]+/,"") } def jrstrip(str){ str.replaceAll(/[\s ]+\z/,"") } println jstrip ("\t キュッと\r \n") println jlstrip("\t キュッと\r \n") println jrstrip("\t キュッと\r \n")
\t□キュッと\r□\n" □は全角空白になっている
実行結果
キュッと キュッと キュッと
2つ目のキュッとの後は\r全角空白\nになってるので
コマンドプロンプトで実行すると以下のように「キ」無いように見えてしまう。これでしばらく悩んだ(^_^;;;
キュッと ュッと キュッと
添削歓迎
ここ間違ってるよ
こうした方が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、杉浦 孝、櫻井 正樹、須江 信洋、関谷 和愛、佐野 徹郎、寺沢 尚史
しばらくすれば2nd Editionが出るはず
問題自体は第2版のもの。rubyと似てる部分も多いので、ヒントにもなる。
写経でもいいが自分で考えるために他言語の例をGroovyで置き換えてる。
Groovyイン・アクションを読むならあった方が便利かな。