Str.replace('\\','')不适用于反斜杠

时间:2014-02-18 18:39:46

标签: python string

我想删除反斜杠,我读过你可以使用

Str.replace('\\', '') 

我也试过

re.sub(r'\\', '',text)

然而两者都不适合我。我想知道是否有人可以帮助我找出问题所在。

text = ['with General Atlantic, Newman\'s Own Foundation, The Pershing Square Foundation, Rockefeller Philanthropy Advisors, and Echoing Green announced a three-year partnership which will invest']
text.replace('\\','')

我仍然得到'纽曼自己的基金会'

澄清:  我试图用连续的单词来获得单词,其中首字母大写,如专有名词。反斜杠将这个正则表达式从捕获纽曼自己的东西中搞砸了。所以似乎删除反斜杠不是最好的主意? R'\ B(?

我在ipython notebook

中打印文本时收到反斜杠

1 个答案:

答案 0 :(得分:7)

文本不包含要删除的反斜杠。文本中的反斜杠实际上逃脱了撇号。

如果你试试print text[0],你会得到一个输出:

with General Atlantic, Newman's Own Foundation, The Pershing Square Foundation, Rockefeller Philanthropy Advisors, and Echoing Green announced a three-year partnership which will invest

没有反斜杠。

你得到反斜杠的原因是可能是因为它返回了表示。 [可能因为即使python shell也没有返回反斜杠,除非你明确调用repr(text[0])函数,至少不是你的情况。 ]

如果你想从表示中删除那个转义的反斜杠并将其转换回字符串(虽然我觉得这样做没有意义)你可以试试这个:

repr(text[0]).replace('\\','')[1:-1]

编辑:使用正则表达式时,将您的r'some文本转换为str(r'some text')。这应该有用。