0
Куда пустая строка? Я хочу, чтобы результат ['a','3']
раскол регулярного выражения также включает в себя результат пустой строки
import re a = 'a,/3' print re.split(r'[/,]',a) # gives ['a', '', '3']
Куда пустая строка? Я хочу, чтобы результат ['a','3']
раскол регулярного выражения также включает в себя результат пустой строки
import re a = 'a,/3' print re.split(r'[/,]',a) # gives ['a', '', '3']
пустая строка ожидаемый результат. Регулярное выражение
"[/,]"
означает «раскол либо на„/“или„“»
Как вы оба в ряд, раскол возвращает пустую строку между ними.
Вы можете добиться желаемого поведения с помощью findall
вместо sub
:
>>> re.findall(r'[^/,]', a)
['a', '3']
Спасибо, если это означает, что «раскол либо на„/“или„“» это то, что я хочу. Все еще неясно, о том, какая часть их находится в строке – airnet
@airnet Нет проблем. Я согласен, что мне не обязательно ясно, почему это по умолчанию - я обычно считаю поведение нежелательным. 'str.split()' имеет тот же эффект, например. '" ... ". split ('.') = ['', '', '', '']'. – DaveBensonPhillips
О, хорошо, я вижу шаблон – airnet