Проверьте, содержит ли строка пути подпуть в Groovy - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь проверить, находится ли файл в указанном каталоге, сравнивая его пути. Я пытался использовать String.matches (), list.contains () и String.indexOf (), но ни один из них, кажется, не работает. Я подозреваю, что это как-то связано с символом косой черты, поскольку на обычных строках это работает, но я также пытался избежать этого, и он тоже не работал.

Вот что я делаю:

String filePath = "(/path/to/my/file/file.f,37|8):"
String dirPath1 = "/to/my/file/"
String dirPath2 = "/to/"
String dirPath3 = "/to/my/other/file"

println(filePath.contains(dirpath1)
println(filePath.contains(dirpath2)
println(filePath.contains(dirpath3)

Но выводит

False
False
False

То же самое происходит с filePath.matches(".*"+dirPath1+".*") и filePath.indexOf(dirPath1), которые выводят -1

Есть ли другой способ сделать это или я делаю что-то не так?

Кроме того, я запускаю это в плагине Jenkins Extended Email Publisher в качестве предварительного сценария.

...