Вы можете решить эту проблему по-другому. Вы можете маркировать ваш входной путь, используя \
в качестве разделителя, а затем вы можете выбрать последние 2 элемента (blah
и blah
) или пропустить первые 4 элемента (C:
, Users
, ADMINISTRATOR
, App Play
). Это зависит от того, какое предположение вам легче вычесть. Рассмотрим следующий пример:
def somePath = 'C:\\Users\\ADMINISTRATOR\\App Play\\blah\\blah'
// Build a new path by accepting the last 2 parts of the initial path
assert 'blah\\blah' == somePath.tokenize('\\')[-2..-1].join('\\')
// Build a new path by skipping the first 4 parts from initial path
assert 'blah\\blah' == somePath.tokenize('\\').drop(4).join('\\')
Первый вариант работает лучше, если вы хотите только две последние части из начального пути. Второй вариант работает лучше, если вы ожидаете окончательный путь, например blah\blah\blahhhh
, потому что вы не знаете, сколько вложенных дочерних элементов содержит начальный путь, и хотите начать строить новый путь сразу после \App Play\
.