라이브러리&Module/표준라이브러리

정규표현식으로 개인정보를 보호하려면?(#re)(do it! 점프 투 파이썬-ch01)

JackSmith 2023. 1. 15.

기본문제>

(input)

홍길동의 주민번호는 800905-1049118 입니다.
그리고 고길동의 주민번호는 700905-1059119 입니다.
그렇다면 누가 형님일까요?

(output)

(solution-1)

data = """
홍길동의 주민번호는 800905-1049118 입니다.
그리고 고길동의 주민번호는 700905-1059119 입니다.
그렇다면 누가 형님일까요?
"""

result_line = []
lines = data.split("\n")
for line in lines:
    dumps = line.split(" ")
    for dump in dumps:
        if len(dump) == 14 and dump.find('-'):
            dump = dump[:6] + "-*******"
        result_line.append(dump)
    result_line.append("\n")

print(" ".join(result_line))

(solution-1)

import re

data = """
홍길동의 주민번호는 800905-1049118 입니다. 
그리고 고길동의 주민번호는 700905-1059119 입니다.
그렇다면 누가 형님일까요?
"""

pat = re.compile("(\d{6})[-]\d{7}")
print(pat.sub("\g<1>-*******", data))

 

응용문제>

(input)

홍길동의 전화번호는 010-1234-5678 입니다.
그리고 고길동의 전화번호는 010-2345-6789 입니다.

(output)

홍길동의 전화번호는 010-1234-**** 입니다.
그리고 고길동의 전화번호는 010-2345-**** 입니다.

(solution)

data = """
홍길동의 전화번호는 010-1234-5678 입니다.
그리고 고길동의 전화번호는 010-2345-6789 입니다.
"""

result_line = []
lines = data.split("\n")
for line in lines:
    dumps = line.split(" ")
    for dump in dumps:
        if len(dump) == 13 and dump.find('-'):
            dump = dump[:8] + "-****"
        result_line.append(dump)
    result_line.append("\n")

print(" ".join(result_line))

참고>

 

[python] 파이썬 join 함수 정리 및 예제 (문자열 합치기)

안녕하세요. BlockDMask입니다. 오늘은 파이썬에서 리스트를 문자열로 일정하게 합쳐주는 join 함수에 대해서 알아보려고 합니다. join 함수는 문자열을 다룰 때 유용하게 사용할 수 있는 함수이니

blockdmask.tistory.com

 

🔎 파이썬 해당문자 포함 여부: Google 검색

 

www.google.com

 

🔎 파이썬 조건문: Google 검색

 

www.google.com

 

🔎 파이썬 길이: Google 검색

 

www.google.com

출처>

https://wikidocs.net/109312

 

01장 텍스트 다루기

파이썬은 텍스트 처리에 강한 언어다. 문자열 자료형만 해도 강력하지만 이를 더 강력하게 하는 다양한 라이브러리도 있다. 이번 장에서는 문자열을 줄여서 표시하거나 지정된 길이로 줄…

wikidocs.net

 

댓글