Как вычесть или удалить содержимое переменной контекста из строки в Talend
В 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 ответа
Нет необходимости объявлять переменную tMap. Предположим, что поле, содержащее полный путь, равно "row1.fullpath", а переменная контекста называется root (содержащая "D:/MyData"). В правой части таблицы просто напишите:
row1.fullpath.replace(context.root, "")
Вы можете обратиться к примеру ниже и перенести его в выражение 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);