티스토리 뷰

 

replace( )

 

- 순서 -

1. replace 함수에 대한 설명

2. 함수 사용예시

 


1. replace 함수에 대한 설명

replace는 문자열을 변경하는 함수이다. 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있다. 사용 방법은 '변수. replace(old, new, [count])' 형식으로 사용한다.

- old : 현재 문자열에서 변경하고 싶은 문자

- new: 새로 바꿀 문자

- count: 변경할 횟수. 횟수는 입력하지 않으면 old의 문자열 전체를 변경한다. 기본값은 전체를 의미하는 count=-1로 지정되어있다. 

 

2. 함수 사용 예시

2-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로 전체로 기본값이 설정되어 있기 때문이다. 여기에서 모두 변경을 원하지 않는 경우 숫자를 지정할 수 있다.

 

2-2. 문자열을 변경하면서 횟수(count)를 지정하는 사용예시

위와 동일하게 '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.

 

반응형
댓글
반응형