有没有一种方法可以避免在python3 f-string
中转义大括号字符?
例如,如果您要输出json字符串或一大堆CSS规则,则必须将所有{
和}
字符都转换为{{
和{{1 }},以防您使用f字符串语法。
我知道人们可以使用较旧的语法,例如}}
,div {color: %s} % color
或string templates,但我想知道是否有一种方法可以在原始文本上使用f字符串,最好是通过一种方法来标记“原始”的开头和结尾'使用某种分隔符进行阻止,例如,类似于如何使用'text {}'.format(abc)
和\Q
in a java regex以便在正则表达式中包含未转义的原始字符。
作为替代方案,标准库中是否有某些东西可以提取原始文本并将其转换为 f-string-safe 格式? (同样,类似于您可以为Java正则表达式使用Pattern.quote的方式)
答案 0 :(得分:2)
一个人可以使用implicit string concatenation将f字符串格式仅应用于部分字符串。
[...]另外请注意,文字串联可以为每个组件使用不同的引用样式(甚至混合原始字符串和三引号字符串),并且格式化的字符串文字可以与纯字符串文字串联
>>> hello = "world"
>>> "{hello}" f"{hello}" "!"
'{hello}world!'
这使用与带有转义符的相应f字符串完全相同的字节码。 请注意,空格是可选的,但有助于提高可读性。
答案 1 :(得分:0)
在python中,您可以通过三种方式处理字符串。
请参阅this link
如果需要,可以创建自己的自定义函数并调用它。
RETURN NULL