加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 16:33:09 所属栏目:大数据 来源:网络整理
导读:我有一个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("r
我有一个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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读