如何计算字符串开头的零数

InQ*_*ive 1 ruby regex

我有一个字符串:

"0011HelloWor00ld001"
Run Code Online (Sandbox Code Playgroud)

如何计算字符串开头的零数?例如,上面的字符串应该返回2.

我试过.match(/^[0]+/).size但它不起作用.

Wik*_*żew 5

.match(/^0+/)将返回一个MatchData对象,因此得到1结果(它表示匹配数组中的元素数).

你需要得到比赛本身的大小.使用以下之一:

"0011HelloWor00ld001".match(/^0+/)[0].size
"0011HelloWor00ld001"[/^0+/].size
"0011HelloWor00ld001".match(/^0+/).to_s.size
Run Code Online (Sandbox Code Playgroud)

  • `^`和`$`更老,更常见,所以它们更常见.在我编程的那些年里,我只需要使用`\ A`或`\ z`而不是`^`/`$`几次.大多数时候,我正在搜索包含单行的字符串,因此它没有任何区别,我会回到首先想到的内容. (2认同)