我需要提取文件夹名称的一部分。我有每个文件夹的代码
import groovy.io.FileType
def dirs = []
def currentDir = new File('c:\\CompilationStaging')
currentDir.eachFile FileType.DIRECTORIES, {
dirs.add( 'C:\\CompilationStaging\\'+it.name)
println( it.name)
}
dirs.sort()
def list = dirs.reverse()
这为我提供了一个特定格式的文件夹列表:
2013.28.08.14.08.16_Debug_Value1
2013.28.08.14.08.16_Release_Value2
2013.28.08.14.18.36_Debug_Value3
我需要为每个it.name
获取名称的最后部分(value1,value2,value3)
感谢....
答案 0 :(得分:2)
尝试
println( it.name.split( '_' )[ -1 ].toLowerCase() )
答案 1 :(得分:2)
如果最后一部分始终位于“_”字符后面,则使用[]
运算符和列表(getAt()
方法):
it.name[it.name.lastIndexOf('_')+1..-1]
或使用正则表达式
def regex = /.*(Value\d+$)/
def matcher = (it.name =~ regex)
println matcher[0][1]
答案 2 :(得分:2)
也可以尝试
it.name.reverse().takeWhile{it != /_/}.reverse()