简单字符串问题 - 字符串中的单引号和双引号会将字符串分成多个部分

0 投票
1 回答
557 浏览
提问于 2025-04-17 02:29

我需要用一个很长的字符串来测试正则表达式。但是,这个测试字符串总是因为里面的引号而被改变,导致整个字符串被分成了几个部分,有些部分没有包含在字符串里,这样就出现了错误。

    str1=r"row Id="7" PostTypeId="2" ParentId="4" \n
         CreationDate="2008-07-31T22:17:57.883"\n
         Score="49" ViewCount="0" Body="<p>An explicit cast to double i"  

你能告诉我该怎么解决这个问题吗?非常感谢。

1 个回答

2

使用多行字符串:

str1 = r"""row Id="7" PostTypeId="2" ParentId="4"
           CreationDate="2008-07-31T22:17:57.883"
           Score="49" ViewCount="0" Body="<p>An explicit cast to double i"""

只要你的字符串不跨越多行,你也可以使用另一种引号:

str1 = r'row Id="7" PostTypeId="2" ParentId="4"'

或者(如果你的字符串里面同时有两种引号)可以对引号进行转义(不过,正如Ned Batchelder提到的那样,这样的话你就不能再使用原始字符串了):

str1 = 'row Id="7" PostTypeId=\'2\' ParentId="4"'

撰写回答