Вы можете добавить символ для разделения, используя Regex.Replace()
, а затем разделить его:
string countries = "SpainUnited StatesItalyFrance";
string[] result = Regex.Replace(countries, "(\\S)([A-Z][a-z])", "$1_$2")
.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
Live Demo