当前位置: 首页 > 面试题库 >

部分字符串格式

柴霖
2023-03-14
问题内容

是否可以使用类似于字符串模板safe_substitute()功能的高级字符串格式化方法进行部分字符串格式化?

例如:

s = '{foo} {bar}'
s.format(foo='FOO') #Problem: raises KeyError 'bar'

问题答案:

您可以通过覆盖映射将其欺骗为部分格式:

import string

class FormatDict(dict):
    def __missing__(self, key):
        return "{" + key + "}"

s = '{foo} {bar}'
formatter = string.Formatter()
mapping = FormatDict(foo='FOO')
print(formatter.vformat(s, (), mapping))

印刷

FOO {bar}

当然,此基本实现仅在基本情况下正确运行。



 类似资料:
  • 问题内容: Javascript中是否有用于格式化数字和字符串的函数? 我正在寻找一种用于字符串或数字的千位分隔符的方法…(如C#中的String.Format) 问题答案: 以下原始答案中引用的参考文献有误。这里是一个内置的功能,这一点,而这正是德皇以下建议: 因此,您可以执行以下操作: 下面实现的功能也可以使用,但是根本没有必要。 原始答案 根据此参考资料,没有内置函数可将逗号添加到数字中。但

  • 问题内容: 如何取一个并制作一个副本,但没有第一个String?示例:如果我有这个… 我如何制作一个像字符串集合颜色一样但没有红色的新字符串呢? 问题答案: 您可以使用:

  • 我目前正在尝试将字符串拼接成多行字符串。正则表达式应选择前面有 13 个字符的空格。 问题在于,13个字符的计数在前一个选定的空白之后不会重置。因此,在前13个字符之后,正则表达式选择每个空白。 我使用以下正则表达式,其 13 个字符: (结尾有一个空格) 您可以在这里测试正则表达式和以下代码: 此代码的输出如下所示: 这是个测试。 应用 应在 13 个字符后的空格上以子字符串分隔此字符串 但应该

  • 问题内容: 我只是想知道如何在PHP中某个子字符串之后删除所有内容 例如: 我想要它,以便它删除包括子字符串“ By”在内的所有文本。 谢谢 问题答案: 用简单的英语来说:给我字符串的一部分,从开始到结束,直到您第一次遇到分支的位置。

  • 问题内容: 我想像这样分割一个字符串 与。但是当我尝试拆分时,我得到了 我尝试将空字符串拆分后用于检查空字符串,但在android中不起作用。这是我的代码: 我认为有一种方法可以像这样拆分:但无法弄清楚如何。 谢谢您的帮助! 问题答案: 由于to的参数是一个正则表达式,因此您可以查找一个或多个空格()而不是一个空格()。

  • 我正在创建一个程序,它可以决定用户的移动方向是否是顺时针方向(N,E,S,W)。 例如,我有变量: UsersDirection不是顺时针方向,因为它必须是“sw”,就像在correctdirection。我不知道如何比较这两个字符串,我甚至不知道如何开始。