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回圈來搜索像“name”和“version”這樣的字串并構建它,但我認為必須有一個更簡單的方法(也許使用split(“,”)?)有人能提出更好的方法嗎?
uj5u.com熱心網友回復:
正則運算式直截了當:
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]]'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435688.html
上一篇:逐字切串
