我有一个字符串:
s = "alpha beta gamma delta"
我正在尝试将此字符串拆分为一个空格作为分隔符,而不删除额外的空格来获取此字符串:
["alpha", "beta", " gamma", "delta"]
有办法做到这一点吗?
以下内容未给出我想要的结果:
s.split(" ") # => ["alpha", "beta", "gamma", "delta"]
s.split # => ["alpha", "beta", "gamma", "delta"]
答案 0 :(得分:5)
尝试指定一个单词边界,后跟一个空格:
string = "alpha beta gamma delta"
p string.split(/\b\s/)
# ["alpha", "beta", " gamma", "delta"]
答案 1 :(得分:2)
s.split(/(?<! ) /)
#=> ["alpha", "beta", " gamma", "delta"]
正则表达式匹配前面没有空格的每个空格,(?<! )
是负面的背后隐藏。