2017-12-03 5 views
1

저는 비교적 새로운 Python입니다. 나는 두 번 이상 나오는 단어를 다른 단어로 대체하려고합니다. 단어는 여러 단어로 구성 될 수 있습니다. 나는 그들이 XYZ로 대체되기를 바랄 것이다. 예 :python은 출현 횟수에 따라 단어를 바꿉니다.

ABC is a tall person. ABC likes sports. Sports are good for health. ABC is a gold medalist in many sports. 

ABC 및 스포츠는 XYZ로 바꿔야합니다. 같은, 위의 문장은 다음과 같아야합니다 나는 사전을 사용하고 단어의 occurance을 계산하는 지점에 도착 할 수 있었다

XYZ is a tall person. XYZ likes XYZ. XYZ are good for health. XYZ is a gold medalist in many XYZ. 

. 그러나 교체 권리를 얻을 수 없었습니다. 정규식/for 루프/목록/사전 같은 데이터 구조를 사용하여이 수행하고 싶습니다. 이 작업을 수행하기 위해 사용할 수있는 카운트 기반 교체 기능이 있습니까? 당신이 STR의 조합을 사용할 수 있습니다

s = ABC is a tall person. ABC likes sports. Sports are good for health. ABC is a gold medalist in many sports. 

s.replace("ABC", "XYZ") 
+4

작업중인 코드를 공유하십시오. – aBiologist

+0

"대체 권리를 얻을 수없는 곳"에 코드 부분을 게시하십시오. 이것은 우리가 어디로 잘못 가고 있는지 알아내는 데 도움이 될 것입니다. – GaneshTata

답변

2

, 당신이 원하는 것은 루프 확인입니다 검사 할 때 .split() 및 str.replace() 메서드를 사용하십시오. 예를 들어

b=a.split(' ',1) 
if(b.count(b[i])) > 1: 
     b.replace(b[i],'XYZ') 
1

: 단어, 사용 예를 두 번 이상 나타나고 string.replace()를 실행하면 이미 사전을 가지고 있기 때문에

관련 문제