<aside> 💬
lv0
, 정규표현식
주어진 HTML 문자열에서 모든 HTML 태그(<tag>
, </tag>
)를 제거하고 순수한 텍스트만 반환하는 함수를 작성해주세요. 여기서 HTML 태그는 '<'로 시작하고 '>'로 끝나는 모든 문자열로 정의됩니다.
예를 들어, 문자열 "<p>Hello, <b>World</b>!</p>"에서 함수는 "Hello, World!"을 반환해야 합니다.
import re
만 입력하여 한 번 실행하면 그 다음 코드부터 import re
를 하지 않아도 사용 가능합니다. solution 함수 내에 re 모듈을 사용하셔도 애러가 나지 않습니다. 코드 내에는 solution 함수만 있어야 하므로 이 2개가 있지 않도록 주의해주세요. 어려우신 분은 제주코딩베이스캠프
유튜브 채널 33번 문제 영상을 참고해주세요.입력 (문자열) | 출력 (태그 제거된 문자열) |
---|---|
"<p>Hello, <b>World</b>!</p>" | "Hello, World!" |
"<div><i>Sample</i> Text</div>" | "Sample Text" |
"No tags here." | "No tags here." |
각 예시에서 HTML 태그들은 제거되고, 순수한 텍스트만 반환됩니다.
</aside>
import re
def solution(data):
pattern = r"<[^>]+>" **#1 패턴 정의**
return re.sub(pattern, "", data) **#2 sub 함수 사용**
패턴 정의
HTML 태그 패턴
을 찾습니다.
sub 함수 사용
re.sub()
함수를 사용하여 주어진 데이터에서 HTML 태그 패턴을 찾아내고, 이를 빈 문자열로 대체하여 HTML 태그를 제거한 후 반환합니다.
re.sub
기본 형태: re.sub()
개념: 정규표현식을 사용하여 문자열에서 패턴과 일치하는 부분을 다른 문자열로 대체하는 함수입니다.
import re
# 주어진 문자열
text = "Hello Wolrd Hello"
# 정규표현식 패턴 설정
pattern = r"Hello"
# sub 함수를 사용하여 패턴 대체
new_text = re.sub(pattern, "Hi", text) # 출력: Hi Wolrd Hi
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 결과 반환**
변수 초깃값 설정
inside_tag 변수
의 초깃값
을 False
로 설정
반복문 및 조건문 생성
반복문 및 조건문을 통해 주어진 데이터에 꺾쇠 유무에 따른 값을 넣습니다.
결과값에 문자열 추가
inside_tag 변수
의 참
, 거짓
에 따라 result에 문자열
을 추가 해줍니다.
결과 반환
반복이 끝나면 최종적으로 제거된 HTML 태그가 없는 문자열
인 결과를 반환합니다.
조건문