【发布时间】:2021-05-17 21:28:57
【问题描述】:
产生这些结果的方法是什么?恐怕我不太擅长正则表达式,也看不到实现这一目标的相对简单的方法
"100124" => "100124"
"100asdf124" => "100"
"1asdf124" => "1"
"100 124" => "100"
"1 124" => "1"
"100.124" => "100"
"1.124" => "1"
更新
这与从字符串中提取数字不同!因为我不想从字符串中提取所有数字,所以只有 FIRST 设置直到某个其他字符或空格或标点符号或其他任何不是数字的东西都会中断它!增加了更多的例子来清楚
【问题讨论】:
-
"100asdf124"[/\d+/] #=> "100". -
您也只需在字符串上调用
to_i。它将返回可以转换为整数的第一个字符 -
@Intl,
a1.to_i #=> 0,它不区分'0a.to_i #=> 0。此外,OP 希望返回一个字符串,而不是一个整数。我假设'a1'将返回'1'或nil,但问题并不清楚。 -
如果字符串不以数字开头或根本不包含数字,预期的结果是什么?
标签: ruby-on-rails regex ruby