搜索,修改和替换文本

时间:2019-08-16 20:26:25

标签: python function search replace

我想要一个简单的方法来在字符串中查找模式并对其进行修改

我有一个多行文本,我想修改所有双引号(“)的值

例如,双引号之间只有字符,我想在其ascii值中添加5并修改字母

def printChar(char):
    x = ord(char)
    x += 5
    return(chr(x))

这样,如果我有“ a”,我想放“ f”,我该如何做一个替换,让我放一个中间函数?

1 个答案:

答案 0 :(得分:1)

使用正则表达式和lambda。正则表达式可能需要进行一些调整。现在,它在双引号之间至少需要一个字符(否则第一个将被忽略),并且双引号之间的字符必须是字母数字。

import re
t = 'This is "ABCD" or "EFGH"'

re.sub(r'"[A-Za-z0-9]+"', lambda x: ''.join(chr(ord(c)+5) for c in x.group(0)), t)

输出

"This is 'FGHI' or 'JKLM'"
相关问题