Groovyで文字列を最大n文字に切り詰める
文字列をn文字に切り詰める
コード
def takeNchars(str, n) { if (str.size() == 0) return str return str[0..n-1] } result = takeNchars("abcdefgh", 5) assert result == "abcde" assert result.size() == 5 println result result = takeNchars("あいうえおかき", 5) assert result == "あいうえお" assert result.size() == 5 println result result = takeNchars("ab\n\nde", 5) assert result == "ab\n\nd" assert result.size() == 5 println result result = takeNchars("", 5) assert result == "" assert result.size() == 0 println result
実行結果
[C:\workspace\groovy_sandbox]groovy Q066_文字列を最大n文字に切り詰める.groovy abcde あいうえお ab d
添削歓迎
ここ間違ってるよ
こうした方がGroovyらしくないか?
などなど
方法は、コメント、トラックバック、はてブ、Twitter @orange_clover宛 で、お願いします。
実行環境
Groovyの詳細についてはJavadocと以下の書籍を参考にしている。
問題自体は第2版のもの。
自分で考えるために他言語の例をGroovyで置き換えてる。
あった方が便利かな。