파이썬 replace() 문자열 제거, 수정, 변환 and 오른쪽 부터 지우고 싶을때

allnight5·2022년 11월 16일
0

python 함수

목록 보기
4/12

바꿀 횟수는 꼭 써주지 않아도 된다.
replace(old, new, [count]) -> replace("찾을값", "바꿀값", [바꿀횟수])
text = '123,456,789,999'

,을 하나만 지우고 싶다면 count자리에 1을 다지우고 싶다면 비워두면 된다.
replace_t1 = text.replace(",", "",1)

def replaceRight(original, old, new, count_right):

repeat=0
text = original
old_len = len(old)

count_find = original.count(old)
if count_right > count_find : # 바꿀 횟수가 문자열에 포함된 old보다 많다면
    repeat = count_find # 문자열에 포함된 old의 모든 개수(count_find)만큼 교체한다
else :
    repeat = count_right # 아니라면 입력받은 개수(count)만큼 교체한다

while(repeat):
  find_index = text.rfind(old) # 오른쪽부터 index를 찾기위해 rfind 사용
  text = text[:find_index] + new + text[find_index+old_len:]

  repeat -= 1
  
return text

출처 : https://yuddomack.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-replace-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%A0%9C%EA%B1%B0-%EC%88%98%EC%A0%95%EB%B3%80%ED%99%98#:~:text=%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%80%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EB%B3%80%EA%B2%BD%EC%9D%84%20%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20replace%20%ED%95%A8%EC%88%98%EB%A5%BC,-%3E%20replace%20%28%22%EC%B0%BE%EC%9D%84%EA%B0%92%22%2C%20%22%EB%B0%94%EA%BF%80%EA%B0%92%22%2C%20%5B%EB%B0%94%EA%BF%80%ED%9A%9F%EC%88%98%5D%29%202.%20%EC%9A%B0%EC%B8%A1%EB%B6%80%ED%84%B0%20%EB%B3%80%EA%B2%BD

profile
공부기록하기

0개의 댓글