-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
Exercise 22. 문자열 다루기 (strip) 문의
24.04.07 21:39 작성 조회수 51
0
code = ' 000660\n abc'
print (code)
print (code.strip(' \n'))
결과
000660
abc
000660
abc
로 \n 이 제거가 되지 않고 줄 바꿈 되었습니다.
잘못 코딩한 부분이 어디인지 문의 드립니다.
파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용2
강의실 바로가기
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2024.04.08
안녕하세요 답변 도우미입니다.
코드를 실행했을 때의 결과를 설명해 드리겠습니다. Python의 strip()
메서드는 문자열의 양쪽 끝에서 지정된 문자(들)를 제거합니다. 하지만, 이 메서드는 문자열의 가운데에 있는 문자나 문자열의 양쪽이 아닌 부분에 있는 문자를 제거하지 않습니다.
여기서 주의할 점은, strip(' \n')
은 문자열의 시작과 끝에서만 공백과 개행문자('\n')를 제거한다는 것입니다. 따라서, 문자열 중간에 있는 개행문자나 공백은 그대로 유지됩니다.
주어진 코드에서 code
변수는 '\n'
을 포함하여 다음과 같이 정의됩니다:
```python
code = ' 000660\n abc'
```
print(code)
를 호출하면, 문자열이 정의된 대로 출력됩니다. 이 때문에 다음과 같이 보입니다:
```
000660
abc
```
print(code.strip(' \n'))
을 호출하면, 문자열의 시작과 끝에서만 공백과 개행문자가 제거됩니다. 여기서 strip()
은 문자열의 시작에 있는 공백과 문자열의 끝에 있는 개행문자만을 제거합니다. 그러나 문자열 중간의 개행문자('\n')는 제거되지 않습니다. 그 결과 다음과 같이 출력됩니다:
```
000660
abc
```
중간에 있는 개행문자('\n')를 제거하고 싶다면, replace()
메서드를 사용하여 모든 개행문자를 제거할 수 있습니다. 예를 들어:
```python
print(code.replace('\n', ''))
```
이 코드는 개행문자를 빈 문자열로 대체하여, 문자열 전체에서 모든 개행문자를 제거합니다.
결론적으로, strip()
메서드가 예상대로 동작하지 않는 것은 아니며, strip()
은 문자열의 시작과 끝에서만 지정된 문자를 제거하기 때문에 문자열 중간에 있는 개행문자는 영향을 받지 않습니다.
감사합니다.
답변 1