Hi Mick,
[Assuming you're using DicomEdit 6], how about this?
(0008,0012) ~ "\\d{7,}" ? (0008,0012) := substring[(0008,0012), 0, 6]
In English, assuming I haven't made a mistake: "if Instance Creation Date is exactly 7 or more digit characters, assign it to only the first 6 of those characters". This won't work for elements with a VR of DT (datetime), since the period and other allowed characters (+, -) will throw it off. If you need to handle that (or unexpected non-digit characters), you'd probably need something more permissive than "\\d". Give that a try and let us know how it goes.
Thanks,
Charlie Moore