본문으로 바로가기

파일의 IT 블로그

  1. Home
  2. 프로그래밍/Python
  3. [Python] 폴더 특수문자 제거 및 HTML 태그 제거 함수

[Python] 폴더 특수문자 제거 및 HTML 태그 제거 함수

· 댓글개 · KRFile
# 경로 금지 문자 제거, HTML문자 제거
def filename_remover(string):
        cleaner = re.compile('<.*?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});') #<tag>, &nbsp 등등 제거
        string = re.sub(cleaner, '', string)
        while(string[-1] == '.'):
            string = string[:-1] #끝에 . 제거 ex) test... -> test
        non_directory_letter = ['/', ':', '*', '?', '<', '>', '|'] #경로 금지 문자열 제거
        for str_ in non_directory_letter:
                if str_ in string:
                        string = string.replace(str_, "")
        return string

웹에서 파일을 받아오는데.. 이름 그대로 디렉터리를 생성할때 특수문자, HTML 태그가 포함되어 있는 경우가 있어서 제거하는 함수를 만들어 봤습니다.

 

폴더 생성할때 중간이나 앞에 .(점) 찍는건 되도 맨 뒤에 폴더... 이런식으로 만들면 뒤에 .이 다 사라지고 폴더로

바뀌어 버리더군요. 그래서 그것도 처리했습니다.

 

*, ? 이런문자들은 당연히 처리했는데 ㄱ+한자로 넣으면 폴더 이름에 ?도 넣을 수 있더군요.

물론 표면상으로 똑같이 생겼지 실제론 다른 문자일것이지만요.

*, ?를 똑같이 생긴 특수문자로 치환하면 폴더에서 보이게 할 수도있을거 같긴합니다. 일단 날려버리는쪽으로 진행했습니다.

 

아무생각없이 짜긴했는데.. 더 깔끔하게 만들 수 있을거 같긴한데 귀찮으니 그냥 쓰는걸로..

 

HTML 태그 제거 정규식 참고

stackoverflow.com/questions/9662346/python-code-to-remove-html-tags-from-a-string

SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.