Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails检查符号的字符串_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails检查符号的字符串

Ruby on rails Rails检查符号的字符串,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是rails和ruby中的nubbie 在我的应用程序中,我从csv获取数据,在一些字段中,数值为100>等等。但是如何检查呢?然后只选择整数(浮点)部分?但是请注意!它可以是30,30”、“30.4”、“30。6@pavelby,然后可以使用put/(\d+\.?\d*)/.match(val)[0].to_f作为regexp。数字将以浮点数的形式返回,但此模式也将捕获整数和浮点数。但如何捕获此类数字?因此,如果10没有>@PavelBY,我不能完全确定我是否理解了您的问题:但是,我在上面的

我是rails和ruby中的nubbie
在我的应用程序中,我从csv获取数据,在一些字段中,数值为100>等等。但是如何检查呢?然后只选择整数(浮点)部分?但是请注意!它可以是30,30<等等

您可以使用正则表达式只获取字段的数字部分

正则表达式只是
/(\d+)/

以下是一个例子:

values = ['<20', '>30', '30<']
values.each do |val|
    puts /(\d+)/.match(val)[0].to_i
end
# => 20, 30, 30

values=['30',30如果您有浮点数(不仅仅是整数部分),您可以使用Justin Ko解决方案的一个小变体:


值=[“10.1>”、“30.4”、“30。6@pavelby,然后可以使用
put/(\d+\.?\d*)/.match(val)[0].to_f
作为regexp。数字将以浮点数的形式返回,但此模式也将捕获整数和浮点数。但如何捕获此类数字?因此,如果10没有>@PavelBY,我不能完全确定我是否理解了您的问题:但是,我在上面的注释中的regexp包含捕获所有数字(整数和浮点数。)