如何在python中的双引号内插入反斜杠

时间:2013-04-29 14:28:12

标签: python python-2.7

Python:在一个字符串中,例如“嗨”5“你好”我想在双引号前插入(反斜杠)。对于上面的例子,我想插入“Hi \”5 \“Hello”。有没有办法在python中这样做。

我有以下表格的数据:

   <a> <b> "Hi"5"Hello"
   <c> <d> ""Way"toGo"

我想将此数据转换为以下格式:

   <a> <b> "Hi\"5\"Hello"
   <c> <d> "\"Way\"toGo"

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你想要除了字符串中的第一个和最后一个"之外的所有内容。如果这是真的,那么我们得到类似的东西:

>>> i1 = s.index('"')
>>> i2 = s.rindex('"')
>>> i1
0
>>> i2
11
>>> s[i1+1:i2]
'Hi"5"Hello'
>>> ''.join((s[:i1+1],s[i1+1:i2].replace('"',r'\"'),s[i2:]))
'"Hi\\"5\\"Hello"'

答案 1 :(得分:0)

在字符转义规则中很容易迷失,特别是如果你在Python,JavaScript,正则表达式语法等之间翻转。在Python中这样做的简单方法是使用“r”表示法将字符串标记为“raw” :

错误的例子:

>>> test = 'Hi \there \\friend \n good day'
>>> print test
Hi      here \friend 
 good day

很好的例子:

>>> test = r'Hi \there \\friend \n good day'
>>> print test
Hi \there \\friend \n good day