source

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

ittop 2023. 10. 9. 23:34
반응형

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

이 코드는 내가 필요로 하는 것을 거의 다 해줍니다.

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

단, '>' 구분 기호는 모두 제거됩니다.

그렇게,

<html><head>

로 바뀝니다.

['<html','<head']

분리() 방법을 사용하되 구분자를 제거하지 않고 유지하는 방법이 있습니까?

이 결과로..

['<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

반응형