如何将 python 中的字符串与“\r”和“\n”进行比较
how to compare strings in python with "\r" and "\n"
我有 2 个字符串
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
Python 将 str1 == str2
计算为 False
,原因很明显。
我可以对 str1 做些什么,以便忽略“\r”和“\n”并且 str1 == str2
变成 True
?
假设我只能操作str1。有可能吗?
对所有空白字符进行正则表达式替换,并将它们替换为单个空格:
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
if re.sub(r'\s', ' ', str1) == re.sub(r'\s', ' ', str2):
print("EQUAL") # prints EQUAL
您可以在比较它们之前使用 replace('\r',' ') 和 replace('\n',' ')
简单的用\r\n
替换两个空格
str1 = str1.replace(" ","\r\n")
测试代码
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
str1 = str1.replace(" ", "\r\n")
print(str2 == str1)
# Output
# True
在比较它们之前先试试这个:
str2 = str2.replace("\r", " ").replace("\n", " ")
我有 2 个字符串
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
Python 将 str1 == str2
计算为 False
,原因很明显。
我可以对 str1 做些什么,以便忽略“\r”和“\n”并且 str1 == str2
变成 True
?
假设我只能操作str1。有可能吗?
对所有空白字符进行正则表达式替换,并将它们替换为单个空格:
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
if re.sub(r'\s', ' ', str1) == re.sub(r'\s', ' ', str2):
print("EQUAL") # prints EQUAL
您可以在比较它们之前使用 replace('\r',' ') 和 replace('\n',' ')
简单的用\r\n
str1 = str1.replace(" ","\r\n")
测试代码
str1 = "SWITCH ASSY Drawing No.: NA "
str2 = "SWITCH ASSY\r\nDrawing No.: NA\r\n"
str1 = str1.replace(" ", "\r\n")
print(str2 == str1)
# Output
# True
在比较它们之前先试试这个:
str2 = str2.replace("\r", " ").replace("\n", " ")