是否有更好/更短/更好的方式执行以下操作:
filename = "AA_BB_CC_DD_EE_FF.xyz"
parts = filename.split("_")
packageName = "${parts[0]}_${parts[1]}_${parts[2]}_${parts[3]}"
//packageName == "AA_BB_CC_DD"
格式保持不变(6个部分,_分隔符)但AA,BB的某些值和长度是可变的。
答案 0 :(得分:2)
你可以通过不同地编写“加入”部分来做同样的事情:
以下结果与packageName
相同:
filename.split('_')[0..3].join('_')
它只使用一个范围来对数组进行切片,并使用.join
与分隔符连接。
答案 1 :(得分:1)
作为"段之间的分隔符char"在源文件名和
结果相同(def result = filename.find(/([A-Z0-9]+_){3}[A-Z0-9]+/)
),您不需要拆分文件名并再次加入部分。
您的任务可以使用单个正则表达式完成:
{{1}}