【问题标题】:Search, modify and replace text [closed]搜索、修改和替换文本 [关闭]
【发布时间】:2019-12-23 03:19:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你能提供一个示例文本吗?
  • 在替换任何内容之前,您应该考虑如何找到两个双引号之间的字符。

标签: python function search replace


【解决方案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'"

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 2015-01-09
    • 2023-01-25
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2010-09-21
    • 2022-01-24
    • 2012-10-24
    相关资源
    最近更新 更多