ruby的gsub方法

irb(main):004:0> '12345'.gsub('\d{5}','0')
=> "12345"
irb(main):005:0> '12345'.gsub('^\d{5}','0')
=> "12345"
irb(main):006:0> '12345'.gsub('^\d{5}$','0')
=> "12345"

我想把五个数字匹配出来,替换成零,为什么不行呢?

5个回答

[code="ruby"]'12345'.gsub(/\d{5}/,'0' * 5)[/code]

[code="ruby"]
'12345'.gsub(/\d/, '0')
[/code]

替换成1个0:
[code="ruby"]'12345'.gsub(/\d/, '0')[/code]

每个数字都替换成0:
[code="ruby"]'12345'.gsub(/\d{5}/, '0')[/code]

正则要用/\d{5}/不是'\d{5}'

对,正则是放在//里的,而不是''里

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问