using uCalcSoftware; var uc = new uCalc(); var t = uc.NewTransformer(); // Matches "First Last" OR "First Middle Last" // Constraint Note: We use {name:1} to ensure each variable captures exactly one token. // Replacement Note: We use {middle: {middle}} instead of just {middle} to prepend // a space only if the middle name exists. t.FromTo("Name: {first:1} [{middle:1}] {last:1}", "User: {last}, {first}{middle: {middle}}"); Console.WriteLine(t.Transform("Name: John Doe")); Console.WriteLine(t.Transform("Name: John Quincy Adams"));