2012年4月5日木曜日

groovyの文字列操作

groovyの文字列操作。

基本的にJavaのStringにあるメソッドは使えるが、それが拡張されていて文字列をさらに扱いやすくなっている。

def str = 'Hello World.'

assert str.startsWith('Hello')

// 特定位置の文字を取得
assert str.charAt(0) == 'H'   // これは、java.lang.Stringのメソッド
assert str.getAt(0) == 'H'    // これは、groovyのメソッド
assert str[0] == 'H'

// 文字の存在チェック
assert str.contains("World")

// substring
assert str[0..4] == 'Hello'   // 0〜4文字目
assert str[0..<5] == 'Hello'  // 0〜4文字目
def range = (0..4)
assert str[range] == 'Hello'  // Rangeを指定してもOK

// 連結や除去
assert 'Hi' + str + '!' - 'Hello' - '.' == 'Hi World!'
assert "Hi${str}!" - 'Hello' - '.' == 'Hi World!'

// 文字数のカウント
assert str.count('l') == 3

// 整形
assert "100".padLeft(5, '0') == '00100'   // 先頭0埋め
assert "100".padLeft(5) == '  100'        // 先頭スペース埋め

// 増幅
assert "100" * 2 == '100100'