我有一个包含多行作为内容的字符串。这些行由\ 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方法我错过了已经为我做的那些?
答案 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')