2013-06-28 89 views
1

我没有在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"] 

回答

6

String#splitdocumentation

如果模式包含组,各自的比赛将在 返回数组也是如此。

此作品在Ruby中一样在Python中,方括号是指定字符类,不匹配组:

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

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

string.scan(/\w+|\W+/) 
相关问题