Hello, I’m trying to define a proc format with regular expressions where if the conditions specified aren’t met, then the output is the portion of the input string after the 2nd full stop. Example inputs: Pineapple.colour.yellow Pinenuts.size.small Apple.fruit.red Grape.shape.round Orange.fresh.juice Mango.raw.pickled Proc Format;
Invalue $tester (notsorted)
“s/(.*)(pine)(.*)/pine/i” (regexpe) = _same_
“s/(.*)(apple)(.*)/apple/i” (regexpe) = _same_
“s/(.*)(gra)(.*)/gra/i” (regexpe) = _same_
/*Other= <not sure what goes here>*/
;
Quit; I want the outputs for the input strings above to be: pine pine apple gra juice pickled If I just define a final regex condition like “s/.*\..*\.(.*)/\1/“ (i.e. replace any string with 2 full stops with the portion after the 2nd full stop), then it takes a really long time to run when I use the format in a data step. My dataset is huge with a lot of long strings. Is there any way I can avoid doing this matching step and just use a regex in the ‘other’ step? Thanks!
... View more