[Python]如何处理以一个反斜杠结尾的字符串?

时间:2010-11-08 06:38:11

标签: python string escaping backslash

我从Twitter API获得了一些内容,我有一点问题,实际上我有时会得到一条只有一个反斜杠的推文。 更确切地说,我正在使用simplejson来解析Twitter流。

如何摆脱这种反斜杠?

从我所读到的,这样的原始字符串不应该存在...... 即使我添加一个反斜杠(实际上有两个)我仍然会收到错误,因为我怀疑(因为我有一个奇数个反斜杠)

有什么想法吗? 我也可以忘记这些推文,但我仍然对此感到好奇。

谢谢:)

4 个答案:

答案 0 :(得分:1)

使用r(代表“raw”)前置字符串将转义字符串中的所有字符。例如:

print r'\b\n\\'

将输出

\b\n\\

我是否正确理解了这个问题?

答案 1 :(得分:1)

我猜你在PHP中正在寻找一种类似于stripslashes的方法。那么,你走了:

Python version of PHP's stripslashes

答案 2 :(得分:1)

您可以尝试使用原始字符串,方法是将r(因此无需转义任何内容)添加到字符串或re.escape()

考虑到我没有看到回复的文字,我不确定你需要什么。如果您没有自己提出的方法或从这里获得的方法都不起作用,您可能不得不忘记这些推文。

答案 3 :(得分:0)

除非你更新你的问题并回到真正的问题,否则我断言除了混乱之外你没有问题。

您从Tweeter API获取字符串,因此字符串未显示在代码中。 “原始字符串”仅存在于您的代码中,并且代码中的“原始字符串”不能以反斜杠结尾。

考虑一下:

def some_obscure_api():
    "This exists in a library, so you don't know what it does"
    return r"hello" + "\\" # addition just for fun

my_string = some_obscure_api()
print(my_string)

请参阅? my_string愉快地以反斜杠结束,你的代码也不在乎。