如何从Talend中的字符串中减去或删除上下文变量的内容

时间:2017-04-10 15:41:59

标签: talend data-integration

在talend Open Studio中,如果我有一个指向目录C:/MyData的上下文变量,我该如何从目录字符串中减去该变量,例如C:/MyData/Folder/Sub/以便我最终获得/Folder/Sub/进行额外处理

我尝试将C:/MyData/Folder/Sub/存储在变量Path中,而tMap中的字符串使用Var.Path.replace(Var.ContextAsString, "")但不会影响输出

是否有更好的方法来使用Talend tMap操作表示目录路径的字符串?

2 个答案:

答案 0 :(得分:1)

您可以参考下面的示例并将其移植到tMap表达式。

String s1 = "C:/MyData";
String s2 = "C:/MyData/Folder/Sub/";
String s3 = (s2.indexOf(s1) >= 0) ? s2.substring(s2.indexOf(s1) + s1.length()): s2;
System.out.println(s3);

答案 1 :(得分:1)

无需声明tMap变量。 假设包含完整路径的字段是“row1.fullpath”,而上下文变量称为root(包含“D:/ MyData”)。 在tMap的右边,只需写:

row1.fullpath.replace(context.root, "")