查找非数字字符的第一个索引



假设我有一个String

someString = "1374j03d42s23dc"

我想找到非数字字符的第一个索引。在这种情况下,那将是4.我怎样才能用regex做到这一点?

(我不太擅长regex,所以如果答案可以解释发生了什么,那就太好了)

someString =~ /D/
# => 4
.

.......

除了sawa的解决方案: 当您希望代码更具可读性时,也可以使用 String#index

string = '1374j03d42s23dc'
string.index(/D/)
#=> 4

/D/匹配任何非数字(常见正则表达式元字符列表)

尝试:

someString.each_char.with_index { |c,i| puts i if c == someString.scan(/D+/)[0] }

相关内容

最新更新