如何有选择地在Python字符串中转义百分比(%)?

如何有选择地在Python字符串中转义百分比(%)?

我有以下代码

test = "have it break."selectiveEscape = "Print percent % in sentence and not %s" % testprint(selectiveEscape)

我想获得输出:

Print percent % in sentence and not have it break.

实际发生了什么:

    selectiveEscape = "Use percent % in sentence and not %s" % testTypeError: %d format: a number is required, not str


弑天下
浏览 299回答 3
3回答

慕的地8271018

>>> test = "have it break.">>> selectiveEscape = "Print percent %% in sentence and not %s" % test>>> print selectiveEscapePrint percent % in sentence and not have it break.

幕布斯7119047

或者,从Python 2.6开始,您可以使用新的字符串格式(在PEP 3101中描述):'Print percent % in sentence and not {0}'.format(test)当你的琴弦变得更复杂时,这尤其方便。

神不在的星期二

您不能有选择地逃避%,因为%总是具有特殊含义,具体取决于以下字符。在Python 的文档中,在该部分的第二个表的bottem中,它指出:'%'        No argument is converted, results in a '%' character in the result.因此你应该使用:selectiveEscape = "Print percent %% in sentence and not %s" % (test, )(请注意将元组的expicit更改为参数%)如果不知道上述内容,我会做到:selectiveEscape = "Print percent %s in sentence and not %s" % ('%', test)凭借你显然已经拥有的知识。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python