Hello,
I had a key change in my r code and now my regex is not working. I'm trying to parse out the below bold/italic text. The bold/italic will always change (in case of the knots, it could be more or less numbers) but the rest will stay the same.
I've tried "\w*\((\w*)\,.*\((.*)\)\).*(/w)" but that does not seem to work.
bs(rba_bucket, knots = c(3250, 40000), degree = 1)2
Thank you for the help.
Solved! Go to Solution.
output
rba_bucket, knots |3250, 40000|2
REGEX_Replace([Data], ".*?\((.*?)=.*\((.*?)\).*\)(\d+)", '$1|$2|$3')
skip everything until the FIRST ( character found: .*?\(
group 1 is everything that comes next up to the first = sign: (.*?)=
skip everything until the FIRST ( character found: .*?\(
group 2 is everything the comes next up to the firs ) sign: (.*?)\)
skip everything until the last ( character found: .*\)
group 3 is all numbers that are left: (\d+)
From here, you can parse the data if needed.
Cheers,
Mark
This should do the trick:
bs\((.*)\,\s(.*) = c\((.*)\,\s(.*)\).*\)(\d)
not exactly sure how you wanted it all split out. knots is bold but in your sample you weren't pulling it so I just left it in.
If you don't want "knots" this will work:
bs\((.*)\,.*\((.*)\,\s(.*)\).*\)(\d)
Best,
MSalvage
Thank you MSalvage.
In terms of "bs\((.*)\,.*\((.*)\,\s(.*)\).*\)(\d)", it seems to work on some not others. For example, bs(veh_age, knots = c(7,18), degree = 1)1 works exactly how I'm intending it to use. But for bs(rba_bucket, knots = c(3250), degree = 1)1 or bs(credit_tier_bucket, knots = c(399), degree = 1)1 Maybe it is because the there is only one knot for those?