python разделяется запятой только в том случае, если запятая имеет завершающий символ

#python #python-3.x

#python #python-3.x

Вопрос:

Это мой код:

 with open(dict_file) as record_list:
    for x in record_list:
        dictionary_list.append([r for r in x[:-1].split(',')])
  

Я пытаюсь разделить, только если запятая находится между символами, например, "abc,abc" , но пропускаю разделение, если запятая имеет завершающий пробел: "12, Main St" .

Ответ №1:

Используйте регулярное выражение с lookbehind и lookahead для требуемого соответствия:

 import re

s = "abc,abc"
print(re.split(r'(?<!s),(?!s)', s))

# ['abc', 'abc']
  

Комментарии:

1. Я пробовал это раньше, не сработало, и теперь это сработало: D — Спасибо