문자열에서 문자 하나만 제거하고 싶은데 어떻게 하죠?
조회수 50054회
발생하는 문제 및 실행환경
str은 del이나 pop이 없더라구요. 문자열 중간에 있는 문자만 빼내 오고 싶은데 예를들어,
문자열 "EXAMPLE"에서 중간에 있는 "M"만 제거하려면 다음 중 어떤 방법이 좋을까요?
- "M" 위치에서 오른쪽에 있는 모든 문자열을 앞으로 한칸씩 당겨오기
- "M"을 제외한 나머지 문자열을 복사해서 새 문자열 만들기
그리고 문자열 끝을 검사할 때 c에서는 '\0'
으로 했었는데 파이썬에서는 어떻게 하는지 궁금합니다
1 답변
-
파이썬에서는 크게 2가지 옵션이 있는데
1. 모든 "M"제거 - replace()
newstr = oldstr.replace("M", "")
2. 중간의 문자를 제외한 나머지 복사해오기
midlen = len(oldstr)/2 newstr = oldstr[:midlen] + oldstr[midlen+1:]
그리고 C에서는 문자열의 끝이 항상
'\0'
였지만 python에서는 끝을 지정해주는 문자가 없기 때문에 len()을 쓰거나 이터레이터를 써서 확인합니다mystr = "hello C world" for i in range(len(mystr)): print(mystr[i]) #또는 바로 이터레이트 for i in mystr: print(i)
- 마지막 과제입니다. 영어로 된 문장을 입력 받은 후 아래 규칙에 따라 수정하여 출력하는 코드를 작성하세요. 1) 문장의 첫 문자가 소문자이면, 대문자로 수정. 2) 문장의 중간에 대문자가 있으면, 소문자로 수정. 3) 문장의 맨 끝에 마침표(.)가 없으면 마침표 추가. ※ 교재 8장 참고 <출력 예시 1> 문자열을 입력하세요 : nice to meet you 수정한 문자열 : Nice to meet you. <출력 예시 2> 문자열을 입력하세요 : Python is Easy. 수정한 문자열 : Python is easy. 알 수 없는 사용자 2018.6.20 15:08
- 도와주세요ㅠㅠ 알 수 없는 사용자 2018.6.20 15:08
댓글 입력