如果我想使用translate
多个 unicode 字符,例如:
'banana'.translate({ord('ba'):u'cd'})
我怎样才能做到这一点?ord
仅适用于一个角色。那么什么可以让这发生呢?
注意:如何替换字符串的多个子字符串中解释的解决方案?不是 Python3 兼容的解决方案。我尝试在 Python 中修改iteritems
as per ititems但无法使其正常工作。我是 python 新手,我不知道如何使这项工作。
您可能想要构建自己的函数,模拟翻译行为:
def trans_mock(string, **kwargs):
for k,v in kwargs.items():
string= string.replace(k,v)
return string
其中 kwargs 将是您要替换的字符串:
print trans_mock("banana", ba="cd", na="we") # output: cdwewe
您甚至可能想要sortof覆盖字符串类并添加 trans_mock 作为方法:
class string(str):
def trans_mock(self, **kwargs):
for k,v in kwargs.items():
print k,v
self = self.replace(k,v)
return self
banana = string("banana")
print banana.trans_mock(ba="ct", na="lw") # output: ctlwlw