我想:
000123 -> 123
000123000 -> 123000
0123 -> 123
0102030 -> 102030
我想删除一个字符串中的顶级组0,他们有一个很好的方法,谢谢!
答案 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)
答案 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"
但如果有可能是字母字符,这会产生意想不到的结果。