尽管使用了转义字符,但无法使用反斜杠拆分字符串

时间:2014-11-16 23:56:14

标签: python

当我尝试拆分这样的字符串时,我收到错误:

string = "asdasd\asdasd"
lhs, rhs = string.split("\\")
print(rhs)

当我尝试打印右侧字符串时,我收到以下错误。

Traceback (most recent call last):
  File "C:/Users/Michael/PycharmProjects/untitled/expiriment2.py", line 2, in <module>
    lhs, rhs = string.split("\\")
ValueError: need more than 1 value to unpack

3 个答案:

答案 0 :(得分:3)

我不确定您要尝试实现的目标,但您可以尝试使用以下原始字符串:

string = r"asdasd\asdasd"
lhs, rhs = string.split("\\")
print rhs

答案 1 :(得分:2)

你的字符串的反斜杠用于转义以下a字符,因此python将\a视为一个字符。您可以通过将字符串打印到控制台来进行检查。它会打印asdasdsdasd而不是asdasd\asdasd。要确保字符串中有反斜杠文字,必须转义转义字符,即放入2个反斜杠。

string = "asdasd\\asdasd" lsh, rhs = string.split("\\")

您获得该特定错误的原因是split返回包含一个元素的列表,该元素是原始字符串(["asdasd\asdasd"]),因此python正在将"asdasd\asdasd"分配给lhs },并且没有任何内容可以分配给rhs

答案 2 :(得分:1)

lhs, rhs = string.split(r"\a")

r表示以下字符串为“raw”,并且不应转义反斜杠。