Groovy 从字符串创建 2 个暗淡数组 [][]

发布于 2025-01-10 10:57:15 字数 444 浏览 0 评论 0原文

string = """
name:bla1-service,
  version:Sprint-91.0.0
  
  name:bla2-service,
  version:Sprint-93.0.0
  
  name:cbla3-service,
  version:Sprint-93.0.0
  
  name:bla4-service,
  version:Sprint-93.0.0
  
"""

最终结果应该是一个数组,

myArray = [[bla1-service,version:Sprint-91.0.0],[bla2-service,Sprint-93.0.0] ...]

我可以使用 for 循环来搜索“名称”和“版本”等字符串并构建它,但我认为必须有一种更简单的方法(也许使用 split(",")?) 谁能提出更好的方法?

string = """
name:bla1-service,
  version:Sprint-91.0.0
  
  name:bla2-service,
  version:Sprint-93.0.0
  
  name:cbla3-service,
  version:Sprint-93.0.0
  
  name:bla4-service,
  version:Sprint-93.0.0
  
"""

end result should be an array

myArray = [[bla1-service,version:Sprint-91.0.0],[bla2-service,Sprint-93.0.0] ...]

i can use a for loop to search for string like "name" and "version" and build this but i figure there must be a simpler way (maybe using split(",")?)
can anyone suggest a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ㄟ。诗瑗 2025-01-17 10:57:15

正则表达式的一些简单的东西:

String string = """
name:bla1-service,
  version:Sprint-91.0.0
  
  name:bla2-service,
  version:Sprint-93.0.0
  
  name:cbla3-service,
  version:Sprint-93.0.0
  
  name:bla4-service,
  version:Sprint-93.0.0
  
"""

def res = []
string.eachMatch( /name:([^,]+),\s+version:(\S+)/ ){ _, name, version -> res << [ name, version ] }

assert res.toString() == '[[bla1-service, Sprint-91.0.0], [bla2-service, Sprint-93.0.0], [cbla3-service, Sprint-93.0.0], [bla4-service, Sprint-93.0.0]]'

Something straight-forward with regex:

String string = """
name:bla1-service,
  version:Sprint-91.0.0
  
  name:bla2-service,
  version:Sprint-93.0.0
  
  name:cbla3-service,
  version:Sprint-93.0.0
  
  name:bla4-service,
  version:Sprint-93.0.0
  
"""

def res = []
string.eachMatch( /name:([^,]+),\s+version:(\S+)/ ){ _, name, version -> res << [ name, version ] }

assert res.toString() == '[[bla1-service, Sprint-91.0.0], [bla2-service, Sprint-93.0.0], [cbla3-service, Sprint-93.0.0], [bla4-service, Sprint-93.0.0]]'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文