Sorry about that, I was having problems getting "preview post" to work and just had to submit.
The formula should look like this.
local stringvar array arrval:= split({@data}); //Turns the string to a string array based on spaces
local numbervar lastentry:= UBound(arrval); //Finds the last group in the array
local stringvar array arrshortval := arrval[1 to lastentry-1]; //Makes a new array without the last entry.
local stringvar lastval:= uppercase(arrval[lastentry]); //Gets the last string value from the orignal array.
if lastval in ["I","II","III","IV","V","VI","VII","VIII","IX"] //compares the last array val based on known likely roman numerals
then Propercase(join((arrshortval))) + " " + lastval //if it truly did have a space before it and was a known Romand Numeral, concatenate pieces.
else
Propercase({@data}); //Otherwise just pass the orignal string back, adjusted for propercase.