0

我想扩展“博士”。进入“医生”或“驱动器”以消除混乱。

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

有没有更好的方法来扩展“博士”?如果字符串是“我喜欢苏斯博士”,我将无法处理案件!

4

2 回答 2

4

像这样的东西?

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

第一次替换只替换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 回答