Groovy > 文字列(String)の使い方
更新日
2016-03-05
広告
特定の文字を含むか判定
containsメソッドを使います。 以下は、文字列testが、スペースを含むか判定する例です。if (test.contains(" ")) { // do something... }
文字列の分割
splitメソッドを使うと、文字列をスペースで分割します。 以下は、文字列testをスペースで分割する例です。def tokens = test.split()tokensは文字列の配列になります。
特定の文字を削除
minusメソッドを使うことで、特定の文字を削除できます。def modifiedStr = originalStr.minus("k")
文字列の一部を取得
getAtメソッドで範囲を指定することで、文字列の一部を取得できます。 例えば、ある文字列(origStr)の4文字目以降を取得するには、以下のようにします。def origStr = "12345678" def result = origStr.getAt(3..(origStr.size() - 1)) println result // -> 45678
文字列のサイズをそろえる
padLeftメソッドを使うと、文字列の左側に任意の文字を追加して、サイズを統一できます。これで、例えば数字の桁数をそろえることができます。println "50".padLeft(3, '0') // '050' println "1".padLeft(3, '0') // '001'
色々な置換
全角スペースを、半角スペースに置換する。def newText = originalText.replaceAll(/\u3000/, ' ')文字列最初のスペースを削除する。
def newText = originalText.replaceAll(/^\s+/, '')文字列最後のスペースを削除する。
def newText = originalText.replaceAll(/\s+$/, '')連続するスペースを、1つのスペースに置換する。
def newText = originalText.replaceAll(/ {2,}/, ' ')置換対象の文字列を変数に格納し、それを使って置換文字列を作る。 以下は、'XXX'の前後にハイフンを入れるように置換します。
def text = "aaaXXXbbb" // 配列itに、置換対象文字列が格納される。 def text2 = text.replaceAll(/(XXX)/){'-' + it[1] + '-'} println text2
文字列を一行ずつ処理
文字列の変数が、複数の行を含む場合に、一行ずつ処理する方法です。text.eachLine { line, no -> println "${no} ${line}" }上記の変数noは、行番号です。0始まりです。
広告
お問い合わせは sweng.tips@gmail.com まで。