Как вычесть или удалить содержимое переменной контекста из строки в 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);
Другие вопросы по тегам