Python 原始字符串中会出现额外的反斜杠
我在显示原始字符串时遇到了额外的反斜杠问题。我希望原始字符串等于Python 原始字符串中会出现额外的反斜杠,python,string,Python,String,我在显示原始字符串时遇到了额外的反斜杠问题。我希望原始字符串等于9.2\\\(4\\)4,但在Primary\u Image变量中不断得到9.2\\\(4\\\)4。但是,该程序会打印9.2\\(4\\)4 \\表示一个。如果打印正确,应该就可以了 为了更好地解释,这里没有两个反斜杠。在Python中,反斜杠是一种特殊字符。如果你想把它当作一个普通的角色,你必须转义它。巧合的是,转义正是反斜杠的作用。我不明白你为什么要删除它,事实上,我认为你永远都不能。单独输入反斜杠意味着下一个字符将被转义。字
9.2\\\(4\\)4
,但在Primary\u Image
变量中不断得到9.2\\\(4\\\)4
。但是,该程序会打印9.2\\(4\\)4
\\
表示一个。如果打印正确,应该就可以了
为了更好地解释,这里没有两个反斜杠。在Python中,反斜杠是一种特殊字符。如果你想把它当作一个普通的角色,你必须转义它。巧合的是,转义正是反斜杠的作用。我不明白你为什么要删除它,事实上,我认为你永远都不能。单独输入反斜杠意味着下一个字符将被转义。字符串“\\”
仅包含一个字符(文字反斜杠)。字符串r“\\”
包含两个字符(转义字符和文本反斜杠)。打印输出或用于任何类型的I/O时,应将其视为单个字符
如果第二个反斜杠不知何故导致了问题,可能是因为您试图将其用作标有
r
的文字。当使用字符串让Python按预期将“\\\”
视为一个字符时,只需删除此r
。\\
表示一个字符。如果打印正确,应该就可以了
为了更好地解释,这里没有两个反斜杠。在Python中,反斜杠是一种特殊字符。如果你想把它当作一个普通的角色,你必须转义它。巧合的是,转义正是反斜杠的作用。我不明白你为什么要删除它,事实上,我认为你永远都不能。单独输入反斜杠意味着下一个字符将被转义。字符串“\\”
仅包含一个字符(文字反斜杠)。字符串r“\\”
包含两个字符(转义字符和文本反斜杠)。打印输出或用于任何类型的I/O时,应将其视为单个字符
如果第二个反斜杠不知何故导致了问题,可能是因为您试图将其用作标有r
的文字。当使用字符串让Python将“\\\”
视为一个字符时,只需删除此r
import re
def Convert_Image_name_for_regex(image):
image = re.sub(r'.*asa|k8.bin.*','',image)
image = image.replace(r"-", r"", 2)
image = image[:1] + r'.' + image[1:]
image = image[:3] + r'\(' + image[3:]
image = image[:6] + r'\)' + image[6:]
return image
Primary_Image = r'asa924-4-k8.bin'
Primary_Image = Convert_Image_name_for_regex(Primary_Image)
print Primary_Image