<aside> 💬

lv0, 정규표현식

HTML 태그 제거

문제 설명

주어진 HTML 문자열에서 모든 HTML 태그(<tag></tag>)를 제거하고 순수한 텍스트만 반환하는 함수를 작성해주세요. 여기서 HTML 태그는 '<'로 시작하고 '>'로 끝나는 모든 문자열로 정의됩니다.

예를 들어, 문자열 "<p>Hello, <b>World</b>!</p>"에서 함수는 "Hello, World!"을 반환해야 합니다.


제한 사항


입출력 예

입력 (문자열) 출력 (태그 제거된 문자열)
"<p>Hello, <b>World</b>!</p>" "Hello, World!"
"<div><i>Sample</i> Text</div>" "Sample Text"
"No tags here." "No tags here."

입출력 설명

각 예시에서 HTML 태그들은 제거되고, 순수한 텍스트만 반환됩니다.

</aside>

😺 풀이 1. 정규표현식 활용

import re

def solution(data):
    pattern = r"<[^>]+>" **#1 패턴 정의**
    return re.sub(pattern, "", data) **#2 sub 함수 사용**

단계별 풀이 전략

  1. 패턴 정의

    HTML 태그 패턴을 찾습니다.

  2. sub 함수 사용

    re.sub() 함수를 사용하여 주어진 데이터에서 HTML 태그 패턴을 찾아내고, 이를 빈 문자열로 대체하여 HTML 태그를 제거한 후 반환합니다.

알아둬야 할 개념

re.sub

풀이 2. 반복문 활용

def solution(data):
    inside_tag = False
    result = "" **#1 변수 초깃값 설정**
    for char in data: **#2 반복문 및 조건문 생성**
        if char == "<":
            inside_tag = True
        elif char == ">":
            inside_tag = False
        elif not inside_tag:
            result += char **#3 결과값에 문자열 추가**
    return result **#4 결과 반환**

단계별 풀이 전략

  1. 변수 초깃값 설정

    inside_tag 변수초깃값False로 설정

  2. 반복문 및 조건문 생성

    반복문 및 조건문을 통해 주어진 데이터에 꺾쇠 유무에 따른 값을 넣습니다.

  3. 결과값에 문자열 추가

    inside_tag 변수, 거짓에 따라 result에 문자열을 추가 해줍니다.

  4. 결과 반환

    반복이 끝나면 최종적으로 제거된 HTML 태그가 없는 문자열인 결과를 반환합니다.

알아둬야 할 개념

조건문