나는 string.replace("x", "y")
메서드를 알고 있지만 파이썬 및 프로그래밍 전반을 더 잘 이해할 수 있도록 문자열에서 문자를 수동으로 제거하려고합니다. 현재 가지고있는 방법은 아래에 나와 있습니다. 그러나 "Dee"와 "e"를 제거하는 이유는 "De"를 반환하지만 "John Do"와 "o"를 제거하면 "Jhn D"가 반환됩니다. . 따라서 두 개의 문자를 제거하지만 첫 번째 문자는 하나만 제거합니다.Python - 수동으로 문자열에서 특정 문자 제거
도움을 주시면 감사하겠습니다.
def remove_letter(): # Remove a selected letter from a string
base_string = str(raw_input("Enter some text: "))
letter = str(raw_input("Enter the letter to remove: ")) # takes any string size
letter = letter[0] # ensures just one character is used
length = len(base_string)
location = 0
while location < length:
if base_string[location] == letter:
base_string = base_string[:location] + base_string[location+1::]
# concatenate string using slices
length -= 1
location += 1
print("Result %s" % base_string)
엉망인 것은 두 개의 _adjacent_ 문자를 제거하는 것입니다. 'location'에서 캐릭터를 제거 할 때'location'에 무슨 일이 일어나는지 생각해보십시오. – khelwood