Regex.Replace(s, "(?i)^(The|A|An) (.*)$","$2, $1");
, вероятно, должен это сделать.Регулярное выражение совпадает с The, A и An в начале и перемещает его в конец.
Быстрый тест PowerShell:
PS Home:\> 'Conan the Barbarian','The Lord of the Rings','The Matrix','There Will Be Blood'-creplace'(?i)^(The|A|An) (.*)$','$2, $1'
Conan the Barbarian
Lord of the Rings, The
Matrix, The
There Will Be Blood