tJava 从 talend 中的打印输出中获取字符串

tJava fetch string from print output in talend

目前我找到了使用 Talend Studio 在 Java 中获取字符串输出的替代方法:

tJava代码:

String output=((String)globalMap.get("tSystem_1_OUTPUT"));

System.out.println("Printing the error code 1 : "+StringUtils.substringBetween(output,"source count:", "destination count:"));

tJava 输出:

Printing the error code 1 : ', '1000')
('

预期结果:

Printing the error code 1 : 1000

但是,tJava 的结果恰好在字符串“source count:'”和“destination count:”之间,因此包括括号和所有内容。预期的结果只是得到值1000。

如何应用此 java 代码来获取正确的输出?

还没有在 Talend 本身测试过这个,但是试试这个...

String output=((String)globalMap.get("tSystem_1_OUTPUT"));
var sourceCount = output.split("\)")[0].split(",")[1].replace("'", "").trim();

System.out.println("Printing the error code 1 : " + sourceCount);