使用Groovy脚本连接字符串



我是groovy的新手。我有一个csv文件,它只有一个字段。我需要用逗号(,(连接字段。这是一个非常简单的要求,但我不确定的是,我们是否需要创建一个数组列表,或者有更简单的方法来实现这一点?

输入:

ABC
XYZ
123 

输出:ABC,XYZ,123

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
//Body 
def body = message.getBody();
def userlist = new ArrayList<body>()
userlist.join(",");
return(userlist);
}

您可以使用CharSequence.readLines((将多行字符串拆分为单行字符串数组,然后将它们连接到

def data = '''
ABC
XYZ
123'''
def output = data.readLines().join(',')
assert output == 'ABC,XYZ,123'

您可以简单地使用replaceAll()方法

def data = '''
ABC
XYZ
123'''
def output = data.replaceAll( /n/, ',' )
assert output == 'ABC,XYZ,123'

感谢大家的帮助。修改代码如下。下面的两个代码现在都可以通过添加toString和编码来工作。1(

def Message processData(Message message) {
//Body 
def body = message.getBody().toString("UTF-8");
output = body.readLines().join(',')
message.setBody(output);
return message;
def Message processData(Message message) {
//Body 
def body = message.getBody().toString("UTF-8");
output = body.replaceAll( /n/, ',' )
message.setBody(output);
return message;

最新更新