I'm receiving some data, and one of the fields is dynamically named with a number.  So it can come out as field_1 or field_28 within a hash.
This is inside of an array, which is inside of a hash.
So, for example, the raw message coming across looks like this:
{"header_field":"data","header_offset":"1234", "docs":[{"field_1":"date","doctype":"mystring"}]}, which means field_1 is a hash entry at array index 0 inside of the main hash.
I want to rename the dynamic field name to something standard, say field_date.  This will make it a lot easier on the Elastic side.
I've looked around and tried different examples, notably this one, but I cannot get it to work.
Here is what I have so far. I've gotta be missing some small detail.
ruby {
    code => '  
        event.get("docs").each do |k|
           keys = k.keys
           keys.each do |key|
               if ( key =~ /field_[0-9]+/ )
                   k.delete(key)
               end
           end
        end
    '
}
This does not work though. I can print the keys and see them all, so I know I'm at least accessing them. But I cannot seem to delete one, or to copy and paste its value into a new variable and then delete.