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

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

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

  1. vals_str = "a, b , 55, val444"

我想生成以下数组:

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

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

mbjcgjjk

mbjcgjjk1#

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

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

6uxekuva2#

String.Split可以接受regex

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

o2gm4chl3#

灵感来自link

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

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

kmynzznz4#

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

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

sigwle7e5#

Regex是一条可行的道路:

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

相关问题