Python替换字符串中的多个子字符串

2024-07-04 08:59:01 发布

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

我有一段文字:“{name}喜欢{post}”。我根据{}中的值从数据库中获取数据。然后我得到一个数组中的值,比如一段数据的[“John”,“515335”]

我不知道字符串中会包含多少变量。也可能是1或3。(但要替换的内容计数和值将相同)

那么,替换这个字符串中的值的最佳方法是什么呢

我试过:

for i in range(len(subContentArr)):
              content = re.sub(subContentArr[i], valuesArr[i], content, flags=re.IGNORECASE)

但是我得到了local variable 'content' referenced before assignment。(内容是我用大括号获得的文本)

预期输出:“John喜欢515335”


Tags: 数据方法字符串namere数据库内容for
1条回答
网友
1楼 · 发布于 2024-07-04 08:59:01

如果ab是您从数据库中输入的内容,您可以像这样创建所需的输出d

import re

a = "{name} likes {post}"
b = ['John', '515335']

c = re.sub(r'\{[^}]+\}', '{}', a)

d = c.format(*b)

基本上c将是输入字符串的修改版本,它将占位符简化为{},然后我们可以使用.format()将占位符替换为相同顺序的值

相关问题 更多 >

    热门问题