developer tip

처음 나타나는 문자열 만 바꾸시겠습니까?

copycodes 2021. 1. 6. 08:32
반응형

처음 나타나는 문자열 만 바꾸시겠습니까?


다음과 같은 것이 있습니다.

text = 'This text is very very long.'
replace_words = ['very','word']

for word in replace_words:
    text = text.replace('very','not very')

첫 번째 'very'만 바꾸거나 'very'를 덮어 쓰는 것을 선택하고 싶습니다. 훨씬 더 많은 양의 텍스트에서이 작업을 수행하므로 중복 단어가 대체되는 방식을 제어하고 싶습니다.


text = text.replace("very", "not very", 1)

>>> help(str.replace)
Help on method_descriptor:

replace(...)
    S.replace (old, new[, count]) -> string

    Return a copy of string S with all occurrences of substring
    old replaced by new.  If the optional argument count is
    given, only the first count occurrences are replaced.

text = text.replace("very", "not very", 1)

세 번째 매개 변수는 바꾸려는 최대 발생 수입니다.
에서 파이썬에 대한 설명서 :

string.replace (s, old, new [, maxreplace])
old 부분 문자열의 모든 발생이 new로 대체 된 문자열 s의 복사본을 반환합니다. 선택적 인수 maxreplace가 제공되면 첫 번째 maxreplace 발생이 대체됩니다.


에서 http://docs.python.org/release/2.5.2/lib/string-methods.html :

replace (old, new [, count])
old 부분 문자열의 모든 항목이 new로 대체 된 문자열의 복사본을 반환합니다. 선택적 인수 개수가 제공되면 첫 번째 개수 항목 만 대체됩니다.

시도하지 않았지만 효과가 있다고 믿습니다

참조 URL : https://stackoverflow.com/questions/6005891/replace-first-occurrence-only-of-a-string

반응형