在Groovy中使用不同的行分隔符拆分和连接字符串

时间:2014-07-04 10:25:40

标签: string groovy

我有一个包含多行作为内容的字符串。这些行由\ n或\ r \ n分隔。我需要在不触及分隔符的情况下更改每一行的内容。

示例:

输入为:aaaaaa \n bbbbbb \r\n cccccc \n ddddd \n eeee \r\n fffff

输出应为:aaa11aaa \n bb22bb \r\n cc33cccc \n dd44ddd \n e55eee \r\n ffff66f

因此,输入字符串的分割或标记不可能作为信息,如果它是\ r \ n或\ n丢失,并且在更改它们后加入标记时无法恢复。

不是手动分析和更改输入字符串的行,是否有一个很好的groovy方法我错过了已经为我做的那些?

1 个答案:

答案 0 :(得分:2)

您只需分两步完成:

def input = 'aaaaaa \n bbbbbb \r\n cccccc \n ddddd \n eeee \r\n fffff'
def result = input.split('\r\n').collect {
    it.split('\n').collect { doYourReplaceLogic(it) }.join('\n')
}.join('\r\n')