我想用不同的字符替换字符串的每个字符,在字母表中移动。在下面的示例中,我移动了 2,因此 a -> c、b -> d 等。
我正在尝试使用正则表达式和sub
函数来完成此操作,但出现错误。
这是我拥有的代码:
p = re.compile(r'(\w)')
test = p.sub(chr(ord('\\1') + 2), text)
print test
其中变量text
是输入字符串。
我收到了这个错误:
TypeError: ord() 期望一个字符,但找到长度为 2 的字符串
我认为问题在于我在ord
文字字符串“\1”上调用函数,而不是在\w
正则表达式匹配的字符上调用该函数。这样做的正确方法是什么?