[英]Get nth substring of string with common delimiter
我在 groovy web 控制台中工作,并希望获得由 / 分隔的第三个也是最后一个 substring。 我已经能够使用 lastIndexOf() 获得最后一个 substring 并且可以根据需要获得第一个,但是对于我的一生来说,我无法找到任何快速简单的方法来获得第二次和第三次出现的索引/ 以便我可以提取第三个 substring。 从下面的代码中,我想要的 output 将是:
生产
苹果
在我的示例中,我目前正在打印 pathDelim 只是为了进行健全性检查,所以请忽略它为什么存在。 抱歉,如果这是一个简单的问题,但我是 groovy 的新手,主要来自 SQL 背景,这将是一项简单快捷的任务。 提前致谢!
productPath = "Store/Grocery/Produce/Apples";
int pathDelim = productPath.lastIndexOf('/');
itemName = (productPath.substring(pathDelim + 1));
println pathDelim;
println itemName;
您是否考虑过仅拆分字符串?
productPath.split('/')[2, 3].each {
println it
}
打印您想要的 output:
Produce
Apples
如果你需要你可以做的所有索引
productPath.findIndexValues { it == '/' }
哪个返回
[5, 13, 21]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.