Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 문자열의 마지막 표현식을 대체하는 방법은 무엇입니까?

<시간/>

이 문제는 문자열을 반대로 하고, 바꿀 문자열을 반대로 하고, 문자열을 바꿀 문자열의 반대 방향으로 바꾸고, 마지막으로 문자열을 반대로 하여 결과를 얻음으로써 해결할 수 있습니다.

간단한 슬라이싱 표기법([::-1])으로 문자열을 뒤집을 수 있습니다. 문자열을 바꾸려면 str.replace(old, new, count)를 사용할 수 있습니다. 예를 들어,

 def rreplace(s, old, new):
    return (s[::-1].replace(old[::-1],new[::-1], 1))[::-1]
 rreplace('Helloworld, hello world, hello world', 'hello', 'hi')

이것은 출력을 줄 것입니다:

'Hello world,hello world, hi world'

이를 수행할 수 있는 또 다른 방법은 문자열을 이전 문자열에서 한 번 역으로 분할하고 새 문자열과 목록을 결합하는 것입니다. 예를 들어,

 def rreplace(s, old, new):
    li = s.rsplit(old, 1) #Split only once
    return new.join(li)
 rreplace('Helloworld, hello world, hello world', 'hello', 'hi')

이것은 출력을 줄 것입니다:

'Hello world,hello world, hi world'