搜索、修改和替换tex

2024-04-26 17:55:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个简单的方法在字符串中找到一个模式并修改它

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

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

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

这样,如果我有“a”,我想把“f”,我怎么做一个替换,让我把一个中间函数?你知道吗


Tags: 方法函数字符串文本returndef字母ascii
1条回答
网友
1楼 · 发布于 2024-04-26 17:55:56

使用regex和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'"

相关问题 更多 >