Python:替换一个简单的字符串?

时间:2013-03-03 07:15:22

标签: python string

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

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

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

2 个答案:

答案 0 :(得分:4)

这样的东西?

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

第一次替换仅替换Dr.一次(注意添加了额外参数)。

感谢shantanoo指出有一个模块string,所以变量名称应该避免这样的词。我已将变量更改为mystring

答案 1 :(得分: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'