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

조회수 42808회

발생하는 문제 및 실행환경

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

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

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

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

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)
    
    • 마지막 과제입니다. 영어로 된 문장을 입력 받은 후 아래 규칙에 따라 수정하여 출력하는 코드를 작성하세요. 1) 문장의 첫 문자가 소문자이면, 대문자로 수정. 2) 문장의 중간에 대문자가 있으면, 소문자로 수정. 3) 문장의 맨 끝에 마침표(.)가 없으면 마침표 추가. ※ 교재 8장 참고 문자열을 입력하세요 : nice to meet you 수정한 문자열 : Nice to meet you. 문자열을 입력하세요 : Python is Easy. 수정한 문자열 : Python is easy. 박용현 2018.6.20 15:08
    • 도와주세요ㅠㅠ 박용현 2018.6.20 15:08

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.