Подтвердить что ты не робот

Есть ли функция в Python для разделения строки без игнорирования пробелов?

Есть ли функция в Python для разделения строки без игнорирования пробелов в результирующем списке?

например:

s="This is the string I want to split".split()

дает мне

>>> s
['This', 'is', 'the', 'string', 'I', 'want', 'to', 'split']

Мне нужно что-то вроде

['This',' ','is',' ', 'the',' ','string', ' ', .....]
4b9b3361

Ответ 1

>>> import re
>>> re.split(r"(\s+)", "This is the string I want to split")
['This', ' ', 'is', ' ', 'the', ' ', 'string', ' ', 'I', ' ', 'want', ' ', 'to', ' ', 'split']

Использование скобок для записи в re.split() заставляет функцию также возвращать разделители.

Ответ 2

Я не думаю, что в стандартной библиотеке есть функция, которая делает это сама по себе, но "раздел" близок

Лучшим способом, вероятно, является использование регулярных выражений (так я бы сделал это на любом языке!)

import re
print re.split(r"(\s+)", "Your string here")

Ответ 3

Глупый ответ просто для этого:

mystring.replace(" ","! !").split("!")

Ответ 4

Трудная часть с тем, что вы пытаетесь сделать, заключается в том, что вы не даете ей разделить символ. split() взрывает строку символа, который вы ему предоставляете, и удаляет этот символ.

Возможно, это может помочь:

s = "String to split"
mylist = []
for item in s.split():
    mylist.append(item)
    mylist.append(' ')
mylist = mylist[:-1]

Беспощадно, но это сделает трюк для вас...