기계는 거짓말하지 않는다

Python 여러 줄 문자열 각 라인 최소 indent 만큼 제거하고 출력 본문

Python

Python 여러 줄 문자열 각 라인 최소 indent 만큼 제거하고 출력

KillinTime 2024. 1. 1. 18:53

Python에서 """로 선언된 여러 줄 문자열의 각 라인 최소 indent 만큼 제거하고 출력하는 방법이다.

각 라인의 맨 앞 indent 중 최소를 찾아 앞으로 붙여 정렬한다.

def adjust_indent(text: str) -> str:
    lines = text.split('\n')
    
    # 각 라인에서 공백 제외 부분의 길이를 찾아 최소 길이 계산
    min_indent = min(len(line) - len(line.lstrip()) for line in lines if line.strip())
    
    # 각 라인을 최소 indent만큼 제거하고 출력
    adjusted_lines = [line[min_indent:] if line.strip() else line for line in lines]
    return '\n'.join(adjusted_lines)

message ="""
    AB
    CD
        EF
            GH
"""

message = adjust_indent(message)
print(message)

적용 전
적용 후

 

Comments