Мы можем попробовать выполнить глобальную замену регулярных выражений для шаблона \s*[a-z]*\s*
, заменив его пустой строкой, чтобы оставить только начальные заглавные буквы каждого слова.
var input = "And I Think to Myself What a Wonderful World";
var output = input.replace(/\s*[a-z]*\s*/g, "");
console.log(output);
Этот ответ предполагает, однако, что каждое слово будет содержать не более заглавной буквы, в самом начале каждого слова. Для более надежного решения мы можем попытаться найти все совпадения (?<!\S)[A-Z]
, а затем соединить соответствующие заглавные буквы вместе.
var re = /(?<!\S)[A-Z]/g;
var input = "And I THINK to Myself What a WonderFul World";
var output = "";
var m;
do {
m = re.exec(input);
if (m) {
output += m[0];
}
} while (m);
console.log(output);