如何用Groovy在一条线上劈开和修剪刺

m1m5dgzv  于 2022-10-07  发布在  其他
关注(0)|答案(5)|浏览(181)

我有一个字符串,其值由,字符表示。例如:

vals_str = "a, b ,    55,  val444"

我想生成以下数组:

vals_arr = ["a", "b", "55", "val444"]

我怎么才能在一行中使用groovy呢?

mbjcgjjk

mbjcgjjk1#

您还可以在此处使用findAll()方法:

vals_str = "a, b ,    55,  val444"
vals_arr = vals_str.findAll("[^,\s]+")
println vals_arr  // [a, b, 55, val444]
6uxekuva

6uxekuva2#

String.Split可以接受regex

def vals_str = "a, b ,    55,  val444"
def vals_arr = vals_str.split(/s*,s*/)
o2gm4chl

o2gm4chl3#

灵感来自link

我通过两种方式实现了想要的解决方案:

vals_str = "a, b ,    55,  val444"
vals_arr = vals_str.split(",").collect{ it.trim() }
vals_str = "a, b ,    55,  val444"
vals_arr = vals_str.split(",")*.trim()
kmynzznz

kmynzznz4#

您可以使用字符串tokenize()(源)

assert "a, b ,    55,  val444".tokenize(", ") == ["a", "b", "55", "val444"]
sigwle7e

sigwle7e5#

Regex是一条可行的道路:

String res = "a, b ,    55,  val444".split( /W+/ )
assert res.toString() == '[a, b, 55, val444]'

相关问题