Xia Keshan, Thank you so much! That’s awesome! One question, I believe you carried over [dh-z]+ and [abe-z]+ from my first question, right? So I tried to remove them as the code below, I don’t understand why it’s not working, what did I do wrong? data want; set check; length v $ 20; retain pid; var=prxchange('s/\bab\s+ht\b|\bods\b/|/i',-1,var); if _n_ eq 1 then pid=prxparse('/[^|]\s+(\S+)?\s+(\S+)?\s+(\d+)?\.?\d+\s+|\s+(\d+)?\.?\d+\s+(\S+)?\s+(\S+)?\s+[^|]/i'); call prxsubstr(pid, var, position, length); if position ne 0 then v = prxchange('s/^\.+(?=\d+\.\d+)|\.+$//' ,-1, compress(substr(var, position, length),'.','kd') ); drop pid position length; run;
... View more