我有一个文件,我需要在其中搜索字符串并进行替换,困难在于字符串作为先决条件进行了更改,我正在努力使代码正常工作.

文本文件: 这是一个测试文件TEST001.

在上面的文本文件中,TEST001将最后三个整数作为其他函数的一部分进行更改.我们如何找到以TEST002开始测试并重新调整步调的字符串?

try 了多种方法,但都失败了.任何帮助都将不胜感激.

  import re

  target_str = "This is a Test file TEST001 learning"
  res_str = re.sub('^[TEST]' , 'TEST111', target_str)
  # String after replacement
  print(res_str)

推荐答案

您可以使用模式\bTEST\d{3}\b->;这将搜索测试和3位数字.然后用re.sub来代替它:

import re

target_str = "This is a Test file TEST001 learning"
res_str = re.sub(r'\bTEST\d{3}\b' , 'TEST111', target_str)
print(res_str)

打印:

This is a Test file TEST111 learning

Python-3.x相关问答推荐

在多个测试中维护和报告变量

无法使用Python发送带有参数和标头的POST请求

Python VS Code 自动导入路径包含 src

Django 模型类方法使用错误的 `self`

为什么 get_form 方法中小部件的更改没有反映 Django 管理站点中的更改

如何创建与导航抽屉一起使用的导航栏

无法理解此递归函数的分配和环境用法

如果值超出上下限(异常值处理),则将值的数据框替换为 np.nan

二进制文件的 Python 3 和 base64 编码

多个返回函数的列表理解?

简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中没有

Pandas 的 EMA 与股票的 EMA 不匹配?

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

在python中打印下标

为 Python 3 和 PyQt 构建可执行文件

如何在 QGraphicsView 中启用平移和zoom

调用 Python doctest 时如何启用省略号?

为什么异步库比这个 I/O 绑定操作的线程慢?

将 Python 字节转换为无符号 8 位整数

如何从 Base64 转换为字符串 Python 3.2