用单个空格拆分字符串

时间:2018-05-31 01:17:52

标签: ruby string

我有一个字符串:

s = "alpha beta      gamma delta"

我正在尝试将此字符串拆分为一个空格作为分隔符,而不删除额外的空格来获取此字符串:

["alpha", "beta", "     gamma", "delta"]

有办法做到这一点吗?

以下内容未给出我想要的结果:

s.split(" ") # => ["alpha", "beta", "gamma", "delta"]
s.split # => ["alpha", "beta", "gamma", "delta"]

2 个答案:

答案 0 :(得分:5)

尝试指定一个单词边界,后跟一个空格:

string = "alpha beta      gamma delta"
p string.split(/\b\s/)
# ["alpha", "beta", "     gamma", "delta"]

答案 1 :(得分:2)

s.split(/(?<! ) /)
  #=> ["alpha", "beta", "     gamma", "delta"]

正则表达式匹配前面没有空格的每个空格,(?<! )负面的背后隐藏