отличное выражение - PullRequest
0 голосов
/ 25 мая 2010

Как получить имя файла из этих строк, используя groovy.

File file = new File(SOURCE_FILE_NAME).eachLine{line->
    println line
}

получаю строку вот так:

/usr/local/
/usr/local/testing.groovy
/usr/local/picture.jpg

ожидаемый результат:

testing.groovy
picture.jpg

спасибо

Ответы [ 4 ]

1 голос
/ 25 мая 2010

Я не знаю о Groovy, но регулярное выражение, которое вы ищете, будет [^/]+$

1 голос
/ 25 мая 2010
File file = new File(SOURCE_FILE_NAME).eachLine{ path ->
    println org.apache.commons.lang.StringUtils.substringAfterLast(path, "/")
}
0 голосов
/ 28 декабря 2011

также (без внешних deps)

 ["/usr/local", "/usr/local/testing.groovy", 
  "/usr/local/picture.jpg"].each { item->
    def pat = item =~ /(\w*\/)*(.*)/ 
    if(pat.matches()) {
        println pat.group(2)
    }  
  }
0 голосов
/ 25 мая 2010
println (new File(yourString).name)

Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...