我怎么能分割字符串并保留空格呢?

Apa*_*che 1 ruby string whitespace split

我在Python中做了以下事情:

s = 'This is a text'
re.split('(\W)', s)
# => ['This', ' ', 'is', ' ', 'a', 'text']
Run Code Online (Sandbox Code Playgroud)

它工作得很好.如何在Ruby中进行相同的拆分?

我试过这个,但它吃了我的空白:

s = "This is a text"
s.split(/[\W]/)
# => ["This", "is", "a", "text"]
Run Code Online (Sandbox Code Playgroud)

tor*_*o2k 6

String#split 文档:

如果pattern包含组,则相应的匹配也将在数组中返回.

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

"foo bar baz".split(/(\W)/)
# => ["foo", " ", "bar", " ", "baz"]
Run Code Online (Sandbox Code Playgroud)