在talend Open Studio中,如果我有一个指向目录C:/MyData
的上下文变量,我该如何从目录字符串中减去该变量,例如C:/MyData/Folder/Sub/
以便我最终获得/Folder/Sub/
进行额外处理
我尝试将C:/MyData/Folder/Sub/
存储在变量Path
中,而tMap中的字符串使用Var.Path.replace(Var.ContextAsString, "")
但不会影响输出
是否有更好的方法来使用Talend tMap操作表示目录路径的字符串?
答案 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, "")