字符串是.blank?但既不是空的也不是空白的

时间:2013-05-18 16:03:57

标签: ruby-on-rails ruby string removing-whitespace

我正在尝试使用压扁方法将字符串中的多个空格减少为单个空格。但是,我有一个带有多个空格的字符串,这些空格没有减少。当我检查string[space_position].blank?时,它返回true,但它既不是空的,也不是== ' '

什么可能导致这种行为?

不确定这是否相关,但该字符串来自mongoDB并由机车CMS保存在那里。

2 个答案:

答案 0 :(得分:2)

  

三个空格:[32,160,32]

ASCII 160是一种non breaking space,通常在HTML中找到,显然不会被视为空格squish。尝试在之前更换它:

string.gsub(160.chr, ' ').squish

答案 1 :(得分:0)

string.squish! 

这可能会修改字符串本身。还有像“”.blank这样的空字符串?将返回true。