IAm*_*aja 8 string syntax groovy substring
我目前的工作,而是一个Groovy方法,真正丑陋/哈克寻找:
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)
}
Run Code Online (Sandbox Code Playgroud)
当它运行时,您可能得到如下输出:
str: wsodk3oke30d30kdl4kof94j93jr94f3kd03k043k?planKey=si23j383&repositoryId=31850514
index: 59
repoIndex: 72
repoId is: 31850514
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我只是想从String 中获取repositoryId值(=操作符之后的所有内容).有没有更有效/更多的方式来做这个或这个唯一的方法?
Wil*_*ill 13
有很多方法可以达到你想要的效果.我建议使用一个简单的split:
sub = { it.split("repositoryId=")[1] }
str='wsodk3oke30d30kdl4kof94j93jr94f3kd03k043k?planKey=si23j383&repositoryId=31850514'
assert sub(str) == '31850514'
Run Code Online (Sandbox Code Playgroud)
Jef*_*rey 12
使用正则表达式,你可以做到
def repositoryId = (str =~ "repositoryId=(.*)")[0][1]
Run Code Online (Sandbox Code Playgroud)
这=~是一个正则表达式匹配器
| 归档时间: |
|
| 查看次数: |
21072 次 |
| 最近记录: |