在以有效的方式删除额外的空格后比较字符串

时间:2018-02-20 02:48:53

标签: python python-2.7

>>> oranges = "10 100                  200"
>>> oranges == "10 100 200"
False
>>> apples = "10 20 30"
>>> apples == "10 20 30"
True

在我的情况下,期待橘子的输出为"10 100 200"为真。

我正在寻找是否按顺序存在10 100 200。我尝试了条带化,但它只会启动字符串和字符串的结尾。

3 个答案:

答案 0 :(得分:10)

你应该拆分而不是剥离:

Cell

答案 1 :(得分:5)

在空格上拆分字符串,并与您期望的值列表进行比较:

oranges = '10         100 200'
oranges.split() == ['10', '100', '200']
>>> True

字符串方法split()的文档位于:https://docs.python.org/3.6/library/stdtypes.html#str.split

您的问题涉及Python 2.此解决方案也适用于您。

答案 2 :(得分:0)

您还可以按如下方式使用正则表达式:

import re

oranges1 = "10 100                  200"
oranges2 = "10 100 200"

print re.sub("[\x00-\x20]+", " ", oranges1) == re.sub("[\x00-\x20]+", " ", oranges2)

<强>输出:

True