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 № 1De 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+/)