0

「博士」を拡張したい。混乱を解消するために、「ドクター」または「ドライブ」のいずれかに変更します。

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

「Dr.」を展開するより良い方法はありますか? 文字列が「I like Dr. Seuss」の場合、ケースを処理できません。

4

2 に答える 2

4

このようなもの?

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

最初の置換は 1 回だけ置換Dr.します (余分なパラメーターが追加されていることに注意してください)。

モジュールがあることを指摘してくれた shantanoo に感謝しますstring。したがって、変数名はそのような単語を避ける必要があります。変数を に変更しましたmystring

于 2013-03-03T07:32:33.947 に答える
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'
于 2013-03-03T07:38:32.263 に答える