-2

如果我想使用translate多个 unicode 字符,例如:

'banana'.translate({ord('ba'):u'cd'})

我怎样才能做到这一点?ord仅适用于一个角色。那么什么可以让这发生呢?

注意:如何替换字符串的多个子字符串中解释的解决方案?不是 Python3 兼容的解决方案。我尝试在 Python 中修改iteritemsas per ititems但无法使其正常工作。我是 python 新手,我不知道如何使这项工作。

4

1 回答 1

0

您可能想要构建自己的函数,模拟翻译行为:

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
于 2018-03-19T15:30:24.540 回答