Вы можете сделать это следующим образом
Сначала я изменил полную строку на строчные.теперь с помощью регулярного выражения я ищу либо первое слово строки.или любой символ, которому предшествует .
и любое количество пробелов и преобразование соответствия в верхний регистр.
Regex
^([a-z])|\.\s*([a-z])
^([a-z])
- соответствует первому слову строки. |
- чередование такое же, как логическое ИЛИ. \.\s*([a-z])
- соответствует любому .
, за которым следует любое количество пробелов, за которыми следует алфавит.
let str = "LOREM Ipsum is simply DUMMY text of the printing and typesetting industry. Lorem IPSUM. Has been the industry's standard dummy text ever since the 1500s, WHEN an unknown printer took a galley."
let op = str.toLowerCase().replace(/^([a-z])|\.\s*([a-z])/g, (match)=>match.toUpperCase())
console.log(op)