Я хочу разбить строку на ', ', но не на ',, '
', '
',, '
Так что с вводом 'abc,, def, ghi' Я хочу вывод
'abc,, def, ghi'
[ 'abc,, def', 'ghi' ]
Я пытался re.split("(?:[^,]), ",'abc,, def, ghi' ) но он удалил 'f'
re.split("(?:[^,]), ",'abc,, def, ghi' )
'f'
есть ли способ сделать это?
Я бы рекомендовал использовать регулярные выражения:
>>> re.split('(?<!,),(?=\s)', text) ['abc,, def', ' ghi']
Подробности
(?<! # negative lookbehind , # comma ) , (?= # positive lookahead \s # whitespace )
Семантически это означает "разделить только на одну запятую (запятая, которой не предшествует или не следует ни одна запятая). "