我试图构建一个函数来验证字符串是否不包含花括号({
和}
),而不是那些可以用于一级格式设置的括号。也就是说,我希望允许在对字符串的.format
方法进行一次调用之后,可能消失的花括号。你知道吗
例如,如果此验证函数被调用no_curly_braces
,则应返回以下结果:
>>> no_curly_brackets("word")
True
>>> no_curly_brackets("{word") # False, as .format raises ValueError
False
>>> no_curly_brackets("{}word") # True, as .format(3) returns '3word'
True
>>> no_curly_brackets("{word}") # True, as .format(word=3) returns '3'
True
>>> no_curly_brackets("{{word}}") # False, as .format returns '{word}'
False
>>> no_curly_brackets("{{{word}}}") # False, as .format(word='a') returns '{a}'
False
>>> no_curly_brackets("{word}{{}}") # False, as .format(word=3) returns '3{}'
False
等等。你知道吗
我的问题是像"{" in str
这样的尝试会失败(因为模板可能包含这些花括号),我不能在不知道应该为.format
方法提供什么的情况下格式化,以便尝试使相关的花括号消失。你知道吗
以下是基于我上述评论的答案:
一些示例结果:
使用^{} class :
基本上,任何可以解析为格式并且在解析的文本中不包含花括号的内容都是
True
。你知道吗这与您的所有测试用例相匹配:
加上我自己的一些:
相关问题 更多 >
编程相关推荐