Ruby:修剪或替换前导数字

时间:2017-06-26 11:26:14

标签: ruby-on-rails ruby

我有一个以下形式的字符串:

'123string89continues...'

更换或修剪前导数字最优雅的方法是什么?注意,可以有多于或少于3位数字,但至少有一位数字会一直存在。

'1string89continues...' # This can happen
'0123456789string89continues...' # This can happen

'string89continues...' # This cannot happen

3 个答案:

答案 0 :(得分:6)

'123string89continues...'[/\D.*/]
#⇒ "string89continues..."

答案 1 :(得分:3)

试试这个

"123asdads".sub(/A\d+/, "")
 => "asdads"
"1asdads".sub(/A\d+/, "")
 => "asdads"
"asdads".sub(/A\d+/, "")
 => "asdads"

答案 2 :(得分:0)

您可以使用slice!从字符串中删除特定部分:

string = '123string89continues...'
string.slice!(/\A\d+/) #=> "123"
string                 #=> "string89continues..."