时髦的正则表达式

时间:2010-05-25 12:51:08

标签: regex groovy

如何使用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 个答案:

答案 0 :(得分:1)

我不知道groovy,但你正在寻找的正则表达式是[^/]+$

答案 1 :(得分:1)

File file = new File(SOURCE_FILE_NAME).eachLine{ path ->
    println org.apache.commons.lang.StringUtils.substringAfterLast(path, "/")
}

答案 2 :(得分:0)

println (new File(yourString).name)

这应该有效。

答案 3 :(得分:0)

也(没有外部代表)

 ["/usr/local", "/usr/local/testing.groovy", 
  "/usr/local/picture.jpg"].each { item->
    def pat = item =~ /(\w*\/)*(.*)/ 
    if(pat.matches()) {
        println pat.group(2)
    }  
  }