Кажется, что два последовательных переноса строк являются разделителями разделов текста, поэтому вы можете разделить его:
x, y = s.split('\n\n')
Вы также можете узнать, является ли переменная диалоговой или нет, проверив еепервые персонажиЕсли они являются пробелами (то есть с отступом), то это диалог:
x.startswith(' ') # True if dialog, False otherwise
Если вам нужно удалить лишние пробелы до и после каждой строки, используйте strip
:
x, y = [x.strip() for x in s.split('\n\n')]
Поступая таким образом, вы не сможете проверить, является ли что-то диалоговым, поэтому не забудьте проверить это перед удалением пробелов.