The following regular expression [A-Z][a-z]+(?=[A-Z\s\b0-9])
Would match each individual capitalized word followed by another capital letter, a space character or digit. Simply print each result in a row with a space behind it and you're set
Edit: This is ofcourse given that your capitalized names don't contain weird characters, the use would be something like this:
Matcher matcher = Pattern.compile("[A-Z][a-z]+(?=[A-Z\s\b0-9])").matcher(input);
while(matcher.find()) {
string = string + matcher.group();
}
Sytem.out.println(string);