Я пытаюсь разделить некоторый необработанный текст с помощью функции .split()
. Моя единственная проблема заключается в том, что разделитель меняется. Я хотел бы разделить текст на вопрос и ответ, чтобы каждый вопрос + контент и его ответ + контент были сгруппированы вместе, чтобы дать мне список строк со всеми вопросами.
Мне нужно иметь возможность разделите текст на "< b >Question 1"
, а затем снова на "< b >Question 2"
и так далее, пока у меня не закончатся вопросы. Вопросы всегда в порядке, но число имеющихся вопросов не всегда одинаково.
Например:
-< b >Question 1:
content of question 1
-< b >Answer 1:
content of answer 1
-< b >Question 2:
content of question 2
-< b >Answer 2:
content of answer 2
Мне нужен вывод:
output = [
"-< b >Question 1: content of question 1 < b >Answer 1: content of answer 1",
"< b >Question 2: content of question 2 < b >Answer 2: content of answer 2"
]
Я могу разделить текст, когда разделитель непротиворечив, но я не понимаю, как можно разделить его, когда разделитель меняется.
Я попытался сделать рекурсивный вызов, используя «this» и « rest ":
def mySplitter(textString):
finalList = []
questionNumber = 1
this, rest = sampleString.split("<b>Question " + str(questionNumber))
finalList.append(this)
finalList.append(rest)
mySplitter(rest)
Идея заключалась в том, чтобы попытаться увеличить номер вопроса и продолжать разделять" остаток "строки до тех пор, пока не останется ничего. Но я продолжаю превышать максимальную глубину.
Любые идеи о том, что происходит или какие альтернативные и более "изощренные" методы могут быть лучше?
Спасибо!
I ' м, используя Python 3,7