ruby-on-rails - 从 Ruby 变量中去除空格的万无一失的方法?

标签 ruby-on-rails ruby whitespace strip

我正在使用 Ruby on Rails 4.2.7。我无法从变量中剥离空白。我分不清那是什么样的空白。有万无一失的剥离方法吗?当我从某个变量中剪切和粘贴时,我无法去除空白,但是,当我键入空格时,一切都很好。在下面查看我的控制台:

2.3.0 :004 >   test = " 21"
 => " 21" 
2.3.0 :005 > test.strip
 => " 21" 

我从另一个来源剪切和粘贴了空白区域,但没有被剥离。有什么方法可以为我的变量提供某种万无一失的剥离方法吗?

最佳答案

您可能有一个非 ASCII Unicode 空白字符,很可能是 0x00A0:

> test = "\u00A021"
 => " 21" 
> test.strip
 => " 21" 

String#strip仅(当前)知道 ASCII 空格:

strip → new_str
[...]

Whitespace is defined as any of the following characters: null, horizontal tab, line feed, vertical tab, form feed, carriage return, space.

您可以使用 String#gsub 手动完成和 Space character property :

> test = "\u00A0 21 \t\u00a0"
 => "  21 \t " 
> test.gsub(/\A\p{Space}+|\p{Space}+\z/, '')
 => "21" 

关于ruby-on-rails - 从 Ruby 变量中去除空格的万无一失的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39495795/

相关文章:

ruby - 从 ruby​​ 模块调用 FaSTLane 操作

css - 网页水平滚动,右侧只有空格

ruby-on-rails - 实用排队论

ruby-on-rails - HTTParty针对Rails的内容类型问题

css - 如何制作一个包含多个标题的列表

ruby-on-rails - Ruby 电子表格不打开远程文件

据说 Java 会忽略多余的空格。为什么 c=a+++++b 没有空格就不能编译?

php - 当数据输入不一致时如何查找记录?

ruby-on-rails - 是否有 Ruby 消息总线 gem?

ruby-on-rails - 显示复选框 best_in_place ruby​​ gem