替换已知模式前面的固定大小子字符串

2024-04-23 20:06:38 发布

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

我有以下问题:

  1. 我有一根很长的绳子(绳子的长度=54883508)
  2. 我需要在很短的时间内替换所有的子串

字符串包含以下模式的内容:

aaaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaaaaaaaXXXXXXXXXCCaaXXXXXXXXXCCaXXXXXXXXXCCaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCC

我需要替换XXXXXXXXXCC,但我只知道CC的位置,因为XXXXXXXXX是动态和随机的。在

有什么想法吗?在


1条回答
网友
1楼 · 发布于 2024-04-23 20:06:38

使用re.sub函数可以执行此操作

import re 
data = 'aaaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCCaaaaa  aaaaXXXXXXXXXCCaaaaaaaaaaaaXXXXXXXXXCCaaaaaaaaaaaaaaaaXXXXXXXXXCCaaXXXXXXXXXCCaXXXXXXXXXCCaaaaaaaaaaaaaaaaaaaaXXXXXXXXXCC'

print re.sub('(?<=XXXXXXXXX)CC', '11', data)

这将把CC更改为11(?<=XXXXX)CC定义的模式表示只有前面有XXXXX时才匹配CC,否则就不匹配。如果您不知道模式,但知道可以使用(?<=\w{9})CC来匹配前面任何9个字符的字符数。在

相关问题 更多 >