Python split () без удаления разделителя [дубликат]
этот вопрос уже есть ответ здесь:
этот код почти делает то, что мне нужно..
for line in all_lines:
s = line.split('>')
кроме того, что он удаляет все разделители'>'.
и
<html><head>
получается в
['<html','<head']
есть ли способ использовать метод split (), но сохранить разделитель, вместо того, чтобы удалить его?
С этими результатами..
['<html>','<head>']
4 ответов:
Если вы анализируете HTML с разделениями, вы, скорее всего, делаете это неправильно, за исключением того, что вы пишете одноразовый скрипт, направленный на фиксированный и безопасный файл контента. Если он должен работать на любом HTML-входе, как вы будете обрабатывать что-то вроде
<a title='growth > 8%' href='#something'>?в любом случае, для меня работает следующее:
>>> import re >>> re.split('(<[^>]*>)', '<body><table><tr><td>')[1::2] ['<body>', '<table>', '<tr>', '<td>']
просто разделите его, а затем для каждого элемента в массиве/списке (кроме последнего) добавьте к нему трейлинг">".
Comments