2013-03-03 4 views
0

"박사"확장하고 싶습니다. 혼란을 없애기 위해 "의사"또는 "드라이브"로Python : 간단한 문자열 바꾸기?

string = 'Dr. Seuss Dr.' 
if string[0:3] == "Dr.": 
    new_string = 'Doctor Seuss Dr.' 
if string[:3] == "Dr.": 
    another_string = 'Dr. Seuss Drive' 

"Dr."를 확장하는 더 좋은 방법이 있습니까? 문자열이 '나는 Dr. Seuss'와 (과) 같은 경우 케이스를 처리 할 수 ​​없습니다!

+2

질문은 무엇입니까 :

이를 달성하기 위해 정규 표현식을 사용할 수 있습니까? – squiguy

+0

장난감 프로그램/연습용입니까, 아니면 실제 사용을위한 것입니까? – NPE

답변

4

이와 비슷한 기능이 있습니까?

mystring = 'Dr. Seuss Dr.' 
if 'Dr.' in mystring: 
    mystring = mystring.replace('Dr.', 'Doctor', 1).replace('Dr.', 'Drive') 

먼저 단 한 번 Dr.를 대체 교체 (추가 된 추가 매개 변수를주의).

shantanoo에게 모듈 string이 있다는 것을 알려 주셔서 감사드립니다. 따라서 변수 이름은 이러한 단어를 피해야합니다. 변수를 mystring으로 변경했습니다.

+1

+1'.replace'가 count 매개 변수를 취한다는 것을 잊기 쉽습니다. –

+0

이것은 훌륭합니다! – user1899415

+0

@ user1899415 기꺼이 도와 드리겠습니다. – TerryA

1

문자열의 시작 부분에있는 경우 Dr.Doctor으로 변환하려는 것으로 생각됩니다. 그렇지 않으면 Dr.Driver으로 변환해야합니다.

import re 
string = 'Dr. Seuss Dr.' 
string = re.sub(re.compile('^Dr.'), 'Doctor', string) 
string = re.sub(re.compile('Dr.$'), 'Driver', string) 
#now string contains 'Dr. Seuss Drive'