r3m1x
Здравствуйте! Например есть строка “1 2 3”, используя split(“ ”), я получаю , а надо . Подскажите пожалуйста как сделать.
Можно вообще разбить по цифрам и со всеми идущими перед ними whitespace'ами:
import re
for s in ['1 2 3', ' 1 2 3', ' 1 2 3', '1 2 3', '1 2 3', '123', '\t\n1\n2\t3']:
print '~' * 25
print '"%s"' % s
print re.findall(r'\s{0,}\d', s)
Результат:
~~~~~~~~~~~~~~~~~~~~~~~~~
"1 2 3"
['1', ' 2', ' 3']
~~~~~~~~~~~~~~~~~~~~~~~~~
" 1 2 3"
[' 1', ' 2', ' 3']
~~~~~~~~~~~~~~~~~~~~~~~~~
" 1 2 3"
[' 1', ' 2', ' 3']
~~~~~~~~~~~~~~~~~~~~~~~~~
"1 2 3"
['1', ' 2', ' 3']
~~~~~~~~~~~~~~~~~~~~~~~~~
"1 2 3"
['1', ' 2', ' 3']
~~~~~~~~~~~~~~~~~~~~~~~~~
"123"
['1', '2', '3']
~~~~~~~~~~~~~~~~~~~~~~~~~
"
1
2 3"
['\t\n1', '\n2', '\t3']
Удачи!