출처 | https://ooyoung.tistory.com/77 해당 블로그를 참조하여 작성했습니다
replace 함수에 대한 설명
함수 사용예시
replace는 문자열을 변경하는 함수이다. 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있다. 사용 방법은 '변수. replace(old, new, [count])' 형식으로 사용한다.
old : 현재 문자열에서 변경하고 싶은 문자
new: 새로 바꿀 문자
count: 변경할 횟수. 횟수는 입력하지 않으면 old의 문자열 전체를 변경한다. 기본값은 전체를 의미하는 count=-1로 지정되어있다.
replace 함수를 이용해서 hello world를 hi world로 변경해보겠다. hello 문자를 hi로 변경해 주면 되고 함수 사용은 위에 설명한 대로 '변수. replace('hello', 'hi')로 나타내면 된다. 코드로 사용한 예시와 결괏값을 보겠다.
>>> a = 'hello world'
>>> a.replace('hello','hi')
hi world
위에서 함수를 사용하기 전 a라는 변수에 'hello world'를 지정하였다. 이런 경우 변수. replace( ) 함수를 써주면 되기 때문에 a.replace( )라고 표현해주면 된다. 위 사용에서 볼 때 a.replace 함수를 사용하면서 별다른 변수에 지정하지 않았다. 즉, replace 함수는 a라는 변수에 지정된 데이터를 변경하는 함수인 것이다.
이번엔 문자열을 변수
에 지정하지 않고서 문자열에 곧바로 replace 함수를 사용하는 다른 예시를 보겠다.
>>> 'oxoxoxoxox'.replace('ox', '*')
*****
'oxoxoxoxox' 문자열에서 바로 뒤에. 을 붙이고 replace 함수를 사용했다. 'ox'라는 반복되는 문자를 기호로 변경해 보았다. count를 지정하지 않았기 때문에 'ox'라는 문자 전체가 기호로 변경되었다. count 파라미터의 값이 -1로 전체로 기본값이 설정되어 있기 때문이다. 여기에서 모두 변경을 원하지 않는 경우 숫자를 지정할 수 있다.
위와 동일하게 'oxoxoxoxox' 문자에서 count 자리에 에 횟수를 지정하는 숫자를 입력한 경우
>>> 'oxoxoxoxox'.replace('ox', '*', 1)
*oxoxoxox
'oxoxoxoxox' 에서 맨 앞에 있는 'ox'만 * 기호로 변경된 것을 볼 수 있다.
replace함수는 bytearray인 문자열을 변경할 수 있는 메서드이다. 즉, 문자열에서만 사용 가능한 함수인 것이다. 그밖에 리스트, 튜플에 replace를 시도해 보면 AttributeError 에러가 발생한다.
파이 참 문서
def replace(self,
__old: str,
__new: str, __count: int =...) -> str
Return a copy with all occurrences of substring old replaced by new.
--------------------
count Maximum number of occurrences to replace. -1 (the default value) means replace all occurrences. If the optional argument count is given, only the first count occurrences are replaced.