문자열에서 문자 하나만 제거하고 싶은데 어떻게 하죠?


발생하는 문제 및 실행환경

str은 del이나 pop이 없더라구요. 문자열 중간에 있는 문자만 빼내 오고 싶은데 예를들어,

문자열 "EXAMPLE"에서 중간에 있는 "M"만 제거하려면 다음 중 어떤 방법이 좋을까요?

  1. "M" 위치에서 오른쪽에 있는 모든 문자열을 앞으로 한칸씩 당겨오기
  2. "M"을 제외한 나머지 문자열을 복사해서 새 문자열 만들기

그리고 문자열 끝을 검사할 때 c에서는 '\0'으로 했었는데 파이썬에서는 어떻게 하는지 궁금합니다

  • 2016년 02월 16일에 작성됨

조회수 1024


1 답변


좋아요
0
싫어요
채택취소하기

파이썬에서는 크게 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)
  • 2016년 02월 16일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close