【问题标题】:use one backslash and quotation marks together in string [duplicate]在字符串中同时使用一个反斜杠和引号 [重复]
【发布时间】:2026-02-19 01:35:02
【问题描述】:

如何在字符串中用 (\") 表示字符串

我尝试了几种方法:

date = 'xpto\"xpto'
'xpto"xpto'
date = 'xpto\\"xpto'
'xpto\\"xpto'
data='xpto\\' + '"xpto'
'xpto\\"xpto'
data= r'xpto\"xpto'
'xpto\\"xpto'

我需要这样的字符串

'xpto\"xpto'

如果有人知道怎么做,我真的很感激帮助

【问题讨论】:

  • 'xpto\\"xpto' 对我来说很好......
  • @Aran-Fey 我不同意你的观点,这是一个特定的用例,即使他的问题属于同一类别,它确实需要三重转义并简要说明如何它确实有效。 ——
  • @ElvirMuslic 我认为这足以消除 OP 的误解。一旦他们知道 为什么 字符串会用双反斜杠打印,就很容易找出这 4 个选项中的哪一个产生了预期的结果。这里不需要花哨的转​​义。很容易弄清楚,我看不出有一个答案来显示 OP 如何构建那个确切的字符串的好处。没有人会遇到这个问题并想“嘿,这正是我想要构建的字符串!幸好我可以从这里复制/粘贴它!”。如果真的需要,可以在cmets中完成。
  • @Aran-Fey 我确实同意,如果这是一个更广的问题,即how does this apply to all strings?,而不仅仅是这个问题,它会更有帮助。更有帮助,而且人们可能面临同样的问题这一事实使其值得回答。感谢您的巨大贡献和许多有用的答案和 cmets,我非常感谢,因为我坚持我所说的。我只是对 Base-Style 答案有疑问,您总是可以(在某种意义上)参考某人写的基本类型的答案。
  • @ElvirMuslic 我认为提供对问题的良好而详细的解释比握住OP的手并用勺子喂他们解决方案更重要。您一定不要忘记,很多人从 google 来到 *,正确的解释对他们来说much 比 OP 的可复制/粘贴字符串更有用。那里的答案都没有像我链接的副本那样解释潜在的问题。从长远来看,将此标记为欺骗将帮助更多的人。如果您不同意,请随时重新投票。但我的投票仍然存在,至少现在是这样。

标签: python string python-3.x replace


【解决方案1】:

以下行有效。

print(r"'xpto\"xpto'")

输出:

'xpto\"xpto'

我们添加 r 以暗示 字符串 是原始格式。

和/或

print("'xpto\\\"xpto'") 其中\\ = \ 转义这个,\" = " 转义"\

【讨论】:

    【解决方案2】:

    "'xpto\\\"xpto'" 是正确的。部分混淆在于将实际字符串与 Python 的字符串文本表示区分开来。

    >>> date = "'xpto\\\"xpto'"
    >>> date
    '\'xpto\\"xpto\''
    >>> print(date)
    'xpto\"xpto'
    

    一个更简单的解决方案(在阅读 Elvir 的回答后想到)是使用三引号原始字符串:

    date = r"""'xpto\"xpto'"""
    

    【讨论】:

    • 太棒了!我首先输入了三重引号,后来为了简单起见将它们删除,但是,它真的很有用 '''<something>'''"""<something>""" 字符串必须以三重单引号或双引号结尾,从而(几乎)消除了字符串中的引号引起的问题。
    最近更新 更多