有没有办法用空格和逗号拆分字符串,但在生成的数组中保留逗号?



我有一个这样的字符串:

"my bike, is very big"

我想按以下方式拆分它。

["my","bike",",","is","very","big"]

这是我的看法。

text = "my bike, is very big"
text_array = text.split(/(W+)/)
parsed_text_array = text_array.map { |item| 
next if item.eql?(" ")
item.strip
}.compact
print parsed_text_array
# ~> ["my", "bike", ",", "is", "very", "big"]

希望这对:)有所帮助

虽然这个#scan正则表达式解决方案从这个答案到一个类似的问题是完美的。我也想包含一个非正则表达式解决方案:

str = "my bike, is very big"
str = str.split(",").flat_map { |x| [x, ","] }[0...-1].map(&:split).flatten
p str
#-> ["my", "bike", ",", "is", "very", "big"]

最新更新