비어 있지 않은 문자열에서 특정 인덱스에 위치한 문자를 제거해야 하는 경우가 있습니다. 이럴 때는 문자열을 처음부터 끝까지 순회하면서, 제거하려는 인덱스와 일치하지 않는 문자들만 새로운 문자열에 저장하는 방식으로 간단히 해결할 수 있습니다.
아래는 실제 구현 예시입니다.
예제 코드
my_string = "Hi there how are you"
print("The string is :")
print(my_string)
index_removed = 2
changed_string = ''
for char in range(0, len(my_string)):
if(char != index_removed):
changed_string += my_string[char]
print("The string after removing ", index_removed, "nd character is : ")
print(changed_string)실행 결과
The string is : Hi there how are you The string after removing 2 nd character is : Hithere how are you
코드 설명
먼저 문자열을 하나 정의한 뒤, 콘솔에 출력합니다.
제거할 문자의 인덱스 값을 지정합니다. 여기서는 2번 인덱스의 문자를 제거합니다.
반복문으로 문자열을 순회하면서, 현재 인덱스가 제거 대상 인덱스와 일치하지 않으면 해당 문자를 새로운 문자열에 추가합니다.
모든 순회가 끝난 후 완성된 새 문자열을 콘솔에 출력합니다.
참고: 슬라이싱을 활용한 더 간단한 방법
파이썬에서는 문자열 슬라이싱(slicing)을 활용하면 위 과정을 한 줄로 처리할 수도 있습니다. 제거할 인덱스 앞부분과 뒷부분을 각각 잘라내어 연결하는 방식입니다.
index_removed = 2 new_string = my_string[:index_removed] + my_string[index_removed + 1:] print(new_string) # Hithere how are you
두 방법 모두 결과는 동일하지만, 슬라이싱 방식이 코드가 더 짧고 가독성이 좋아 실무에서 자주 사용됩니다. 다만 반복문 방식은 문자열 처리 로직을 학습하는 데 유용하므로 초보자에게 좋은 연습 예제가 됩니다.