如何在一个字符串中删除第一个组“0”

时间:2011-12-14 09:04:19

标签: ruby string

我想:

000123 -> 123

000123000 -> 123000

0123 -> 123

0102030 -> 102030

我想删除一个字符串中的顶级组0,他们有一个很好的方法,谢谢!

4 个答案:

答案 0 :(得分:6)

这应该让你前进:

irb(main):002:0> a = "000123"
=> "000123"
irb(main):003:0> a.sub(/^(0+)/,"")
=> "123"
irb(main):004:0> "000123000".sub(/^(0+)/,"")
=> "123000"

答案 1 :(得分:2)

我使用Rubular获取this

str.gsub /^0+/, ''

答案 2 :(得分:0)

您可以使用:

sub(/^0+/,'')

此处^0+在开头与一个或多个0匹配。 sub方法替换''代替匹配的字符串。

def method(str)
  str.sub(/^0+/,'') # use .to_i if you want the result as integer.
end

method('000123') => 123
method('00012300') => 12300
method('0123') => 123
method('0102030') => 102030

答案 3 :(得分:0)

假设您在该字符串中只有数字字符:

"000123".to_i.to_s
=> "123"

但如果有可能是字母字符,这会产生意想不到的结果。