• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

크롤링 질문입니다!

21.08.27 18:07 작성 조회수 117

0

안녕하세요~

파이썬입문과 크롤링기초 - 파이썬 문자열 함수 정리 강의에서 질문드려요!

강의 6분,

string = "      9999999999999999(Dave)888888888888888888     "

Dave만 남기고 모두 지우고 싶을 때 입력하는 순서가 string.stipr("스페이스98()") 인 게 설명이 이해가 잘 안되서요ㅠ

원하는 문자만 남기고 앞뒤를 모두 지운다는 개념으로만 생각해서

순서대로 string.strip("스페이스9()8스페이스" ) 로 작성해도 되는걸까요~?

 

그리고 Dave 앞뒤의 문자, 공백을 지우는 명령을 할 때 원하는 부분만 골라서 지울 수 있는지도 궁금합니다!

예를 들어서 (, 8, 뒷공백을 지우고 싶다면

명령을 입력하는 순서는 상관이 없을지? >> string.strip((8스페이스)

아니면 index 순서 생각하듯 Dave 앞부분은 앞에서부터, 뒷부분에 지우고 싶은 부분은 뒤에서부터 명령을 입력해야하는지? 

>> string.strip((스페이스8)

아님 rstrip을 사용하는 게 맞을지요!

답변 1

답변을 작성해보세요.

1

안녕하세요.

음 우선 기본적으로는 맞습니다. 양옆에 삭제를 원하는 문자들로 시작하는 문자들을 넣으면, 각 문자별로만 시작한다면, 각 문자들을 다 삭제합니다. 그러니까 ( 또는 8 또는 9 등등으로 시작하는 모든 문자들을 양옆에서 삭제한다고 생각하시면 좋습니다.

또한 rstrip() 은 오른쪽에 대해서만, 삭제하고자 하는 문자들부터 시작할 때 삭제하는 것이고요. 정안된다면, replace() 함수를 통해 원하는 문자가 사이에 있어도 삭제해보시면 좋을 것 같습니다.

추가로, 학습을 하실 때, 이렇게 각 케이스에 어떻게 실행되는지는, 예제로 드신 케이스를 직접 해보시면서, 강의 설명과 함께, 테스트를 해보시면 훨씬 큰 도움이 됩니다. 개발자들도 하루종일 테스트를 하면서, 알아내거든요. 그렇게 해야 익숙해지고, 스스로 이해할 수 있는 역량을 기를 수도 있거든요. 또 검색을 해보시면서, 여러 케이스를 보시는 것이 바로 바로 이렇게 쳤을 때, 어떻게 나올지 답을 얻는 것보다 역시 훨씬 도움이 됩니다. 이 부분도 이해해보신다면, 조금씩 성장하실 수 있으실 꺼예요~~~