2016-04-20 6 views
2

私はgroovyを使用していて、長い文字列で終わっています。たとえば、50文字ごとに
を挿入する必要があります。それ、どうやったら出来るの?groovyを使用してn番目の文字の後に文字を挿入します

インデックス経由の文字列をトラバースして何かを入れる以外のオプションが見つかりませんでした。

答えて

2

代わりに正規表現を使用して分割を行い、joinメソッドを使用して連結することもできます。

例:

​def input = 'abCDSasdDSdsds' 
def splitted = input.split(/(?<=\G\w{5})/) 
// or you can write . instead of \w 

assert 'abCDS:asdDS:dsds' == splitted.join(':') 

+3

や 'input.toList()照合(5)*)(参加参加。。。( ':')' –

+0

がどのようにuがで正規表現を読んでください分割部分? – Vik

+1

私はちょうど特定の長さの部分に文字列を分割する方法を探していたときにそれを見つけました。 \ G [here](http://www.regular-expressions.info/continue.html)の詳細を読むことができます。これは前のマッチの終わりにマッチする特別なアンカーです。 あなたは?<= [here](http://www.regular-expressions.info/lookaround.html#lookbehind)についてもっと読むことができます - それはポジティブなlookbehindであり、文字列の後方に進んでテキストlookbehindの内側に一致させることができます –

関連する問題