복붙노트

[PYTHON] 구분 기호를 제거하지 않고 Python split () [duplicate]

PYTHON

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

이 코드는 내가 필요로하는 것이 거의 다.

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

제외하고 모든 '>'구분 기호가 제거됩니다.

그래서,

<html><head>

변화

['<html','<head']

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

이 결과들로 ..

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

해결법

  1. ==============================

    1.

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

    2.스플릿을 사용하여 HTML을 구문 분석하는 경우, 고정적이고 안전한 콘텐츠 파일을 목표로 한 원샷 스크립트를 작성하는 경우를 제외하고는 오류를 범할 가능성이 큽니다. HTML 입력을 처리해야한다면 같은 것을 어떻게 처리 할 것입니까?

    스플릿을 사용하여 HTML을 구문 분석하는 경우, 고정적이고 안전한 콘텐츠 파일을 목표로 한 원샷 스크립트를 작성하는 경우를 제외하고는 오류를 범할 가능성이 큽니다. HTML 입력을 처리해야한다면 같은 것을 어떻게 처리 할 것입니까?

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

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

    3.이건 어때:

    이건 어때:

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

    4.그냥 분할 한 다음 배열 / 목록의 각 요소 (마지막 요소는 제외)에 후행하는 ">"을 추가하십시오.

    그냥 분할 한 다음 배열 / 목록의 각 요소 (마지막 요소는 제외)에 후행하는 ">"을 추가하십시오.

  5. from https://stackoverflow.com/questions/7866128/python-split-without-removing-the-delimiter by cc-by-sa and MIT license