2014-12-19 2 views
-1

.replace()에 대해 알았지 만 2.7.8에서 작동하지만 3.4.1에서 작동하려면 필요합니다 (또는 비슷한 것). 그래서 ...python 3.4.1 문자열 부분 바꾸기

message = ("hello") 
message.replace("l", "t") 

이 내가 얻을 찾고 있어요 ...

message = hetto 

그것은 아무 의미 hetto을 변경하면 나도 알아,하지만 예입니다.

내가 시도 :

message = ("l") 
message.replace("l", "i") 

나는 여전히 얻을 :

message = l 
+1

축하해. 질문은 무엇입니까? –

+1

하지만 두 버전 모두 기능이 동일합니다! 그래서 뭐가 문제 야? – Kasramvd

+0

'message.replace ("l", "i")'에게''나는'나를 준다. –

답변

0

replace()이 클래스의 방법이다 str

>>> 'hello'.replace('l', 't') 
'hetto' 

포스트 편집

replace 함수가 인데이 아니며 변경된 문자열을 반환합니다. 당신이 다시 할당해야합니다 그래서 값은 replace() 방법은 모두 같은 방식으로 작동,

message = "hello" 
message = message.replace('l','t') 
print(message) 

hetto 

은 또한 코멘트에 언급 holdenweb으로이 document

을 참조 인쇄됩니다

반환 Python 2 및 Python 3

+0

Python 2와 Python 3의 replace()에는 필수적인 차이점이 없습니다. 이것들은 모두 문자열 클래스의 메서드입니다. – holdenweb

+1

@holdenweb 예, 누가 차이가 있다고 말했습니까? –

+0

아마도 내 의견은 질문에 더 잘 붙어 있었을 것입니다. – holdenweb

9

원래 문자열을 변경하려면 다시 할당해야합니다 :

>>> message = message.replace("l", "t") 
>>> message 
'hetto' 

문자열은 Python에서 변경할 수 없습니다. 문자열을 변경하는 유일한 방법은 새 문자열을 만드는 것입니다.

+1

'.replace()'가 파이썬에서 내부 연산이 아닌 이유에 대한 설명을 추가했습니다. 부담없이 롤백하십시오. – jfs

관련 문제