인프런 커뮤니티 질문&답변

hsdanny501님의 프로필 이미지
hsdanny501

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용2

22강 21번 문제에 관련해 질문있습니다.

작성

·

20

0

mystr = ' a man goes into the rooom...'

print(mystr.strip('..'))

강사님이 작성하신 mystr.strip('.')과 똑같이 위 코드를 돌렸을 때에도 점 세 개가 모두 지워지는 결과를 확인했습니다. 만일 해당 str문에서 "점 두 개"만 지워 달라는 의도를 가졌다고 가정하면 이를 어떤 식으로 해결해야 하는 지 의구심이 생겨서 해당 질문 글을 남깁니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. hsdanny501님!

주신 질문에 따르면, strip() 함수가 문자열의 앞뒤에 있는 특정 문자들을 제거하는데, 이 함수는 문자열의 양 끝에 있는 지정된 문자만을 삭제하는 특징이 있습니다. 따라서 strip('..')을 사용했을 때, 실제로 두 개의 점만 지우려면 rstrip()이나 lstrip()을 활용하여 왼쪽 혹은 오른쪽의 점만 선택적으로 제거할 수 있습니다.

하지만, strip() 함수로 정확히 두 개의 점만 제거하기는 어렵습니다. 대신 문자열의 특정 부분을 제거하고 싶을 때는 문자열의 슬라이싱이나 다른 문자열 처리 메소드를 사용하는 것이 좋습니다. 예를 들어:

mystr = ' a man goes into the rooom...'
# 점 두 개만 제거하는 경우
modified_str = mystr[:-2]  # 마지막 두 문자(점 두 개)를 제외하고 나머지 문자열을 유지
print(modified_str)

이 코드에서는 문자열의 끝에서 두 문자만 슬라이싱을 통해 제거하는 방법을 사용했습니다. 이와 같이 슬라이싱 기법을 통해 단순히 점을 제외하고 다른 문자는 변경되지 않도록 처리할 수 있습니다.

기타 참고할 수 있는 질문과 답변이 아래 링크에 있으니 확인해 보세요:

  1. strip 함수 관련 문의
  2. 파이썬입문과 크롤링기초 질문입니다!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

hsdanny501님의 프로필 이미지
hsdanny501

작성한 질문수

질문하기