• JavaScript

Как сделать предложение с заглавной буквы в JavaScript?

Добрый день!

Применил вот такое решение. Первые буквы каждого предложения капсами. Со второго знака маленькими.

Наверное есть более изящный способ? Подскажите какой. Возможно что-то связанное с массивами.

function Capitalisize (str) {
  let result = "";
  for (let i = 0; i < str.length; i = i + 1) {
    str = str.replaceAll("  ", " ");
    if (str[i-2] === String(".") || i === 0) {
      result = result + str[i].toUpperCase();
    } else {
      result = result + str[i].toLowerCase();
    }
  }
  return result;
}

alert(Capitalisize ("НЕБО ГОЛУБОЕ.  ТРАВА ЗЕЛЕНАЯ.  СОЛНЦЕ СВЕТИТ И ГРЕЕТ."))

Комментарии: 1

Александр Мальцев
Александр Мальцев

Здравствуйте! Покороче можно через регулярные выражения:

const capitalisize = (str) => {
  return str.replace(/(.*?\. )|(.*?\.)/g, (match) => {
    return match.charAt(0).toUpperCase() + match.slice(1).toLowerCase();
  });
}