s = "H||CUSTCHQH2H||PHPCCIPHP|1010032000|28092017|25001853||||" p s.gsub(/\A(H.*?\|)[0-9]{8}(?=\|)/, '\100000000') # or p s.gsub(/\AH.*?\|\K[0-9]{8}(?=\|)/, '00000000')
Standard input is empty
"H||CUSTCHQH2H||PHPCCIPHP|1010032000|00000000|25001853||||" "H||CUSTCHQH2H||PHPCCIPHP|1010032000|00000000|25001853||||"