使用正则表达式删除多余的空格

时间:2015-10-14 19:28:24

标签: python regex

产品名称:

"                Samsung Floor Standing Invertor Air Conditioner - 2.0 Ton - AF-28FSSDAWKXFA (Q-9000) - White (Brand Warranty)                  "

我有这个产品名称,我需要在开始前和最后一个字符后删除所有空格")"。正则表达式对我来说是强制性的。我试图在python中实现所有这些。

注意:或者说我只需要获取标题而不需要开始和结束空格。

3 个答案:

答案 0 :(得分:3)

  

使用正则表达式删除多余的空格

没有必要为此使用正则表达式。

.strip()就是您所需要的。

print yourString.strip()
#Samsung Floor Standing Invertor Air Conditioner - 2.0 Ton - AF-28FSSDAWKXFA (Q-9000) - White (Brand Warranty)

LIVE PYTHON DEMO

http://ideone.com/iEmH0i

string.strip(s[, chars])
  

返回带有前导和尾随字符的字符串副本   除去。如果省略chars或None,则为空白字符   除去。如果给定而不是None,则字符必须是字符串;那些角色   在字符串中将从字符串的两端剥离掉   调用方法。

答案 1 :(得分:2)

好吧,如果你必须使用正则表达式,你可以使用它:

import re
s = "                Samsung Floor Standing Invertor Air Conditioner - 2.0 Ton - AF-28FSSDAWKXFA (Q-9000) - White (Brand Warranty)                  "
s = re.sub("^\s+|\s+$","",s)
print(s)

结果:

  

“三星落地式逆变空调 - 2.0吨 -   AF-28FSSDAWKXFA(Q-9000) - 白色(品牌保证)“

答案 2 :(得分:1)

只是为了好玩:使用正则表达式的解决方案(为此更好strip

import re
p = re.compile('\s+((\s?\S+)+)\s+')
test_str = "                Samsung Floor Standing Invertor Air Conditioner - 2.0 Ton - AF-28FSSDAWKXFA (Q-9000) - White (Brand Warranty)                  "
subst = "\\1"

result = re.sub(p, subst, test_str)
print (result)

你明白了,

Samsung Floor Standing Invertor Air Conditioner - 2.0 Ton - AF-28FSSDAWKXFA (Q-9000) - White (Brand Warranty)