Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
>>> import re
>>> re.split(r"(\s+)", "This is the string I want to split")
['This', ' ', 'is', ' ', 'the', ' ', 'string', ' ', 'I', ' ', 'want', ' ', 'to', ' ', 'split']
Используя круглые скобки получения в re.split () заставляет функцию возвращать разделители также.
Я не думаю, что существует функция в стандартной библиотеке, которая делает это отдельно, но "раздел" приближается
, лучший способ состоит в том, чтобы, вероятно, использовать регулярные выражения (который является, как я сделал бы это на любом языке!)
import re
print re.split(r"(\s+)", "Your string here")
Твердая часть с тем, что Вы пытаетесь сделать, - то, что Вы не даете ему символ для разделения на. разделение () взрывает строку на символе, который Вы предоставляете ему, и удаляет тот символ.
, Возможно, это может помочь:
s = "String to split"
mylist = []
for item in s.split():
mylist.append(item)
mylist.append(' ')
mylist = mylist[:-1]
Грязный, но это добьется цели для Вас...