<aside> 💬 lv0, 정규표현식

파일 확장자 추출

문제 설명

주어진 파일 경로 또는 URL에서 파일 확장자를 추출하는 함수를 작성해주세요. 파일 확장자는 파일명 뒤에 오는 마지막 점(.) 뒤의 문자열입니다. 파일 확장자가 없는 경우, 빈 문자열을 반환합니다.

예를 들어, 문자열 "example/document.pdf"에서 함수는 pdf를, "example/folder"에서는 빈 문자열을 반환해야 합니다.


제한 사항


입출력 예

입력 (파일 경로 또는 URL) 출력 (파일 확장자)
"example/document.pdf" "pdf"
"https://www.example.com/image.jpg" "jpg"
"example/folder" ""
"archive.tar.gz" "gz"

입출력 설명

주어진 파일 경로 또는 URL에서 파일 확장자를 추출하여 반환합니다. 파일 확장자가 없는 경우 빈 문자열을 반환합니다.

</aside>

😺 풀이 1. group, search

import re

def solution(data):
    pattern = r".*\\.([^./]+)$" **#1 패턴 정의**
    match = re.search(pattern, data) **#2 search 함수 사용**
    if match:
        return match.group(1) **#3 결과 반환**
    else:
        return ""

단계별 풀이 전략

  1. 패턴 정의

    문자열 패턴을 찾습니다.

  2. search 함수 사용

    패턴과 일치하는 문자열을 찾습니다.

  3. 결과 반환

    일치하는 문자열 중 첫 번째 그룹을 반환합니다.

알아둬야 할 개념

풀이 2. 조건문

def solution(data):
    my_str = data.split('.') **#1 split 함수 사용**
    return my_str[-1] if len(my_str) != 1 else '' **#2 삼항연산자 사용 및 결과 반환**

단계별 풀이 전략

  1. split 함수 사용

    주어진 데이터를 split 함수를 사용해 . 을 기준으로 나눕니다.

  2. 삼항연산자 사용 및 결과 반환

    my_str의 길이가 1 이 아니라면 my_str[-1]을 반환하고 맞다면 “”를 반환합니다.

알아둬야 할 개념

삼항연산자