繁体   English   中英

使用公共分隔符获取字符串的第 n 个 substring

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM