Brilliant, thanks for sharing this technique, Owen!
> So you can modify the approach I outlined to deal with 'Mc' names in the middle by using a 'split' to break down the sentence into words and then iterating through the words with a forEach:
>
> forEach(value.split(" "),v,if(v.startsWith("Mc"),v.substring(0,2)+v[2].toUppercase()+v.substring(3,v.length()),v)).join(" ")
And I wholeheartedly agree with you here:
> I'd suggest with the other things you need to get a list of the cases you need to correct - often with OpenRefine it works well if you tackle one case at a time rather than trying to get a single expression to deal with all the different scenarios.
Joe