如何转义格式字符串?

发布于 2021-01-29 14:11:15

是否可以使用Python的str.format(key=value)语法仅替换某些键。

考虑以下示例:

my_string = 'Hello {name}, my name is {my_name}!'

my_string = my_string.format(name='minerz029')

哪个返回

KeyError: 'my_name'

有没有办法做到这一点?

关注者
0
被浏览
100
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我使用了一个更简单的解决方法:

    my_string = 'Hello {name}, my name is {my_name}!'
    
    to_replace = {
        "search_for" : "replace_with",
        "name" : "minerz029",
    }
    
    for search_str in to_replace:
        my_string = my_string.replace('{' + search_str + '}', to_replace[search_str])
    
    print(my_string)
    

    可以使用to_replacedict中的更多键轻松扩展此功能,即使搜索字符串不存在也不会抱怨。可能会进行改进以提供更多.format()的功能,但这对我来说已经足够了。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看