python2.7:用各自的char替换多个char

时间:2016-03-11 23:46:33

标签: python-2.7 replace

我有一个处理文本的脚本

在这个脚本中有一个需要用其他人替换字符的def

例如:

@ => [ at ]
- => --
_ = (space)
\ => /

我的想法是:

def rrr(str):
  return str
         .replace('@', '[ at ]').
         .replace('-', '--').
         .replace('_', ' ').
         .replace('\', '/')

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

def rrr(s, reps):
    for src,t in reps.iteritems():
        s = s.replace(src,t)
    return s

以这种方式使用:

replacements = {'@' : '[ at ]',
                '-' : '--',
                '_' : ' ',
                '\\' : '/'
               }
rrr(some_string, replacements)