比如真实证件号码是:100100199010100001 也有可能是 15 位的:100100901010001 打完马赛克之后是:100100XXXXXXXX0001 上网找了一种写法是:number.sub(number[6, 8], "XXXXXXXX") 不过这个方法偶尔可能会有 BUG……
irb(main):001:0> number = "12345678901234567890"
=> "12345678901234567890"
irb(main):002:0> number[10, 2]
=> "12"
irb(main):003:0> number.sub(number[10, 2], "XX")
=> "XX345678901234567890"
irb(main):004:0>
大家有木有什么好写法呢?