답변:
아니요. 파이썬 문자열은 변경할 수 없습니다.
>>> s='355879ACB6'
>>> s[4:4] = '-'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
그러나 문자가 삽입 된 새 문자열을 만들 수 있습니다.
>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
문자열을 변경할 수없는 또 다른 방법은 문자열을 목록으로 바꾸는 것입니다. 그런 다음 슬라이싱 트릭없이 색인화하고 수정할 수 있습니다. 그러나 목록을 문자열로 다시 가져 오려면 .join()
빈 문자열 을 사용해야 합니다.
>>> hash = '355879ACB6'
>>> hashlist = list(hash)
>>> hashlist.insert(4, '-')
>>> ''.join(hashlist)
'3558-79ACB6'
이것이 성능과 비교하여 어떻게 확신 할 수는 없지만 다른 솔루션보다 눈이 더 쉽다고 생각합니다. ;-)
파이썬에서 특정 위치에 문자열을 추가 하는 매우 유용한 방법을 만들었습니다 .
def insertChar(mystring, position, chartoinsert ):
longi = len(mystring)
mystring = mystring[:position] + chartoinsert + mystring[position:]
return mystring
예를 들면 다음과 같습니다.
a = "Jorgesys was here!"
def insertChar(mystring, position, chartoinsert ):
longi = len(mystring)
mystring = mystring[:position] + chartoinsert + mystring[position:]
return mystring
#Inserting some characters with a defined position:
print(insertChar(a,0, '-'))
print(insertChar(a,9, '@'))
print(insertChar(a,14, '%'))
우리는 출력으로 가질 것입니다 :
-Jorgesys was here!
Jorgesys @was here!
Jorgesys was h%ere!
s[:-4]