Это регулярное выражение заменяет все последовательности в форме нуля или в точности один пробел, за которым следует заглавная буква только одной буквы, при этом остальная часть текста остается нетронутой (допускается несколько пробелов)
str.replace(/\s{0,1}([A-Z])(\s*\w*)/g, '$1$2');
Доступ к группам возможен из $ 1 и $ 2 в строке замены.
Пример
Ввод «Человек, который никогда не ошибался, никогда не пробовал ничего нового. - Альберт Эйнштейн :)»
Замененная строка «Человек, который никогда не ошибался, никогда не пробовал ничего нового. -Альберт Эйнштейн:) "
Если вы хотите удалить множественные пробелы вместо нуля или один пробел, предшествующий заглавной букве, тогда используйте \s*
вместо \s{0,1}
в приведенном выше выражении.