python - 如何用不同的表达式格式化原始字符串?

比方说,我们想用正则表达式捕捉一些东西,使用 rawstring 来定义模式,哪个模式有重复的元素,里面有变量。而且我们还想使用 format() 字符串格式化形式。如何做到这一点?

import re
text = '"""!some text'
re.findall(r'"{3}{symbol}some\stext'.format(symbol='!'), text)

但是这一行将我们引向一个IndexError:

# IndexError: tuple index out of range

所以,我的问题是:如何格式化原始字符串,如果它有格式化大括号表达式,并在里面重复大括号表达式?

提前致谢!

最佳答案

使用 f-strings (在 Python 3.6 中引入):

a = 15
print(fr'Escape is here:\n but still {a}')

# => Escape is here:\n but still 15

https://stackoverflow.com/questions/16754594/

相关文章:

datetime - 如何在 Crystal Reports 中显示当前日期和时间?

php - 在php中添加前导0

.net - 使用 .NET 字符串格式化,如何格式化字符串以显示零 (0) 的空白(空字符串)?

python - 使用 Python locals() 进行字符串格式化有缺点吗?

java - 在 javadoc 中将长 URL 分成几行

c# - 对信用卡号使用字符串格式

c# - 如何将货币字符串格式化为整数?

java - 日期格式 : month abbreviation with dot

xml - 使用 Powershell 进行外科 XML 编辑

xml - 在 ruby​​ 中格式化 xml 字符串的最佳方法是什么?