Nice programing

구분 기호를 제거하지 않고 Python split ()

nicepro 2020. 10. 10. 10:57
반응형

구분 기호를 제거하지 않고 Python split ()


이 질문에 이미 답변이 있습니다.

이 코드는 필요한 작업을 거의 수행합니다 ..

for line in all_lines:
    s = line.split('>')

모든 '>'구분 기호를 제거하는 것을 제외하고는.

그래서,

<html><head>

로 변한다

['<html','<head']

split () 메서드를 사용하지만 구분 기호를 제거하는 대신 유지 하는 방법 이 있습니까?

이 결과로 ..

['<html>','<head>']

d = ">"
for line in all_lines:
    s =  [e+d for e in line.split(d) if e]

분할을 사용하여 HTML을 구문 분석하는 경우 고정되고 안전한 콘텐츠 파일을 목표로 한 원샷 스크립트를 작성하는 경우를 제외하고는 잘못하고있을 가능성이 높습니다. HTML 입력에서 작동해야한다면 어떻게 처리 할 <a title='growth > 8%' href='#something'>것인가?

어쨌든 다음은 나를 위해 작동합니다.

>>> import re
>>> re.split('(<[^>]*>)', '<body><table><tr><td>')[1::2]
['<body>', '<table>', '<tr>', '<td>']

이것은 어떤가요:

import re
s = '<html><head>'
re.findall('[^>]+>', s)

분할 한 다음 배열 / 목록의 각 요소 (마지막 항목 제외)에 후행 ">"을 추가합니다.

참고 URL : https://stackoverflow.com/questions/7866128/python-split-without-removing-the-delimiter

반응형