c = o.replace(o.gsub!(/\W+/,''))
o.gsub!(/\W+/,'')
注意gsub!修改原始o对象.另外,如果o不包含任何非字符的字符,结果将为零,所以使用返回值作为修改的字符串是不可靠的.
你可能想要这个:
c = o.gsub(/\W+/,'')