我怎么能分开绳子并保留空白呢



我在Python中做了以下操作:

s = 'This is a text'
re.split('(W)', s)
# => ['This', ' ', 'is', ' ', 'a', 'text']

效果非常好。如何在Ruby中进行相同的拆分?

我试过了,但它占用了我的空白

s = "This is a text"
s.split(/[W]/)
# => ["This", "is", "a", "text"]

来自String#split文档:

如果模式包含组,则相应的匹配项将在中返回阵列。

这在Ruby中的工作原理与在Python中相同,方括号用于指定字符类,而不是匹配组:

"foo bar baz".split(/(W)/)
# => ["foo", " ", "bar", " ", "baz"]

toro2k的答案是最直接的。或者,

string.scan(/w+|W+/)

最新更新