예를 들어 문자열이 있습니다. EXAMPLE
.
중간 문자를 제거하려면 어떻게 M
해야합니까? 코드가 필요하지 않습니다. 나는 알고 싶다:
- 파이썬의 문자열은 특별한 문자로 끝나나요?
- 중간 문자부터 시작하여 새 문자열을 작성하고 중간 문자를 복사하지 않고 모든 것을 오른쪽에서 왼쪽으로 이동하는 것이 더 좋은 방법은 무엇입니까?
답변
파이썬에서는 문자열을 변경할 수 없으므로 새 문자열을 만들어야합니다. 새 문자열을 만드는 방법에 대한 몇 가지 옵션이 있습니다. 어디에서나 ‘M’을 제거하려면 다음을 수행하십시오.
newstr = oldstr.replace("M", "")
중심 문자를 제거하려면 다음을 수행하십시오.
midlen = len(oldstr)/2 # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]
문자열이 특수 문자로 끝나는 지 물었습니다. 아니요, C 프로그래머처럼 생각하고 있습니다. 파이썬에서는 문자열이 길이와 함께 저장되므로를 포함한 모든 바이트 값 \0
이 문자열에 나타날 수 있습니다.
답변
이것은 아마도 가장 좋은 방법 일 것입니다 :
original = "EXAMPLE"
removed = original.replace("M", "")
문자 등을 바꾸는 것에 대해 걱정하지 마십시오. 대부분의 Python 코드는 훨씬 높은 수준의 추상화에서 발생합니다.
답변
특정 위치를 바꾸려면 :
s = s[:pos] + s[(pos+1):]
특정 문자를 바꾸려면 :
s = s.replace('M','')
답변
문자열은 변경할 수 없습니다. 그러나 목록을 변경할 수있는 목록으로 변환 한 다음 목록을 변경 한 후 목록을 다시 문자열로 변환 할 수 있습니다.
s = "this is a string"
l = list(s) # convert to list
l[1] = "" # "delete" letter h (the item actually still exists but is empty)
l[1:2] = [] # really delete letter h (the item is actually removed from the list)
del(l[1]) # another way to delete it
p = l.index("a") # find position of the letter "a"
del(l[p]) # delete it
s = "".join(l) # convert back to string
기존 문자열에서 원하는 문자를 제외한 모든 것을 가져 와서 다른 문자열처럼 새 문자열을 만들 수도 있습니다 .
답변
중간 문자 (예 : M)를 제거하려면 어떻게해야합니까?
파이썬의 문자열은 변경할 수 없기 때문에 할 수 없습니다 .
파이썬의 문자열은 특별한 문자로 끝나나요?
아니요. 문자 목록과 비슷합니다. 리스트의 길이는 문자열의 길이를 정의하며 문자는 터미네이터로 작동하지 않습니다.
중간 문자부터 시작하여 새 문자열을 작성하고 중간 문자를 복사하지 않고 모든 것을 오른쪽에서 왼쪽으로 이동하는 것이 더 좋은 방법은 무엇입니까?
기존 문자열을 수정할 수 없으므로 중간 문자를 제외한 모든 문자열이 포함 된 새 문자열을 만들어야합니다.
답변
답변
가변 방식 :
import UserString
s = UserString.MutableString("EXAMPLE")
>>> type(s)
<type 'str'>
# Delete 'M'
del s[3]
# Turn it for immutable:
s = str(s)