微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Groovy中提取子字符串?

我有一个Groovy方法,目前有效,但看起来很丑陋/ hacky:

def parseId(String str) {
    System.out.println("str: " + str)
    int index = href.indexOf("repositoryId")
    System.out.println("index: " + index)
    int repoIndex = index + 13
    System.out.println("repoIndex" + repoIndex)
    String repoId = href.substring(repoIndex)
    System.out.println("repoId is: " + repoId)
}

当它运行时,您可能得到如下输出

str: wsodk3oke30d30kdl4kof94j93jr94f3kd03k043k?planKey=si23j383&repositoryId=31850514
index: 59
repoIndex: 72
repoId is: 31850514

如您所见,我只是想从String中获取repositoryId值(在=运算符之后的所有内容).有没有更有效/更多的方式来做这个或这个唯一的方法

解决方法

有很多方法可以达到你想要的效果.我会建议一个使用split的简单方法

sub = { it.split("repositoryId=")[1] }

str='wsodk3oke30d30kdl4kof94j93jr94f3kd03k043k?planKey=si23j383&repositoryId=31850514'

assert sub(str) == '31850514'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐