2017-06-17 59 views

回答

1

在Python中(也常用其他编程语言),反斜杠字符用于表示无法直接输入到字符串中的特殊字符。这被称为转义序列。要指定一个反斜杠,使用它两次:

user = 'corp\\adam'

+0

这是行不通的。基于你的建议的输出是'corp \\ adam'。你能检查你的结局吗? – GauravP

+0

@GauravP *是你要求的*。 –

+0

如果您直接检查'user'的值(例如通过使用python解释器),它将以与输入相同的方式输出。然而,实际的字符串表示只有一个反斜杠:'len('\\')#returns 1' –

0

尝试使用双反斜线,即CORP \\亚当。第一个反斜杠表示第二个反斜杠必须像正常字符一样进行评估,而不是另一个转义字符。

+0

这可能也是有帮助的:https://stackoverflow.com/questions/17327202/python-replace-single-backslash-with-double-backslash –

0

您可以使用r'corp\adam'这种方式告诉Python它是一个“原始”字符串,反斜杠不会用于转义其他字符。

docs

字符串和字节文字可以任选地以字母“R”或“R”前缀;这样的字符串被称为原始字符串,并将反斜杠视为文字字符。

+0

r'corp \ adam'results in output ='corp \\ adam'。我试过只知道 – GauravP

+0

@GauravP:那是因为你输出了字符串的'repr'(你可能只是在交互式解释器中输入变量的名字)。如果你打印(输出)'多余的反斜杠不会在那里。 – ShadowRanger

+0

@GauravP这是字符串的'repr',而不是字符串本身。使用原始字符串或双反斜杠是正确答案 –

0

当下一个字符是ASCII或Python特殊转义字符时,反斜杠字符将用作转义字符。无论是与另一个反斜杠转义反斜线:

'corp\\adam' 

或使用原始字符串(其中仅反斜线转义引号字符,它甚至不逃避本身):

r'corp\adam'