/ / Como eu poderia dividir a string e manter os espaços em branco também? - rubi, string, divisão, espaço em branco

Como eu poderia dividir a string e manter os espaços em branco também? - Ruby, string, split, espaço em branco

Fiz o seguinte em Python:

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

Funcionou muito bem. Como faço a mesma divisão em Ruby?

Eu tentei isso, mas ele devora meu espaço em branco:

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

Respostas:

6 para resposta № 1

De String#split documentação:

Se o padrão contém grupos, as respectivas correspondências serão retornadas em a matriz também.

Isso funciona em Ruby da mesma forma que em Python, colchetes são para especificar classes de caracteres, não para grupos de correspondência:

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

1 para resposta № 2

A resposta de toro2k é mais direta. Alternativamente,

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