В этом примере вы научитесь писать программу на JavaScript, которая проверяет количество вхождений символа в строку.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- Строка JavaScript
- JavaScript Regex
Если вы проверите количество вхождений ' o' в строке ' school' , результат будет 2 .
Пример 1: проверка появления символа с помощью цикла
// program to check the number of occurrence of a character function countString(str, letter) ( let count = 0; // looping through the items for (let i = 0; i < str.length; i++) ( // check if the character is at that position if (str.charAt(i) == letter) ( count += 1; ) ) return count; ) // take input from the user const string = prompt('Enter a string: '); const letterToCheck = prompt('Enter a letter to check: '); //passing parameters and calling the function const result = countString(string, letterToCheck); // displaying the result console.log(result);
Вывод
Введите строку: школа Введите букву для проверки: o 2
В приведенном выше примере пользователю предлагается ввести строку и символ для проверки.
- Вначале значение счетной переменной равно 0 .
for
Цикл используется для перебора строк.charAt()
Метод возвращает символ по указанному индексу.- Во время каждой итерации, если символ в этом индексе совпадает с требуемым символом, значение переменной count увеличивается на 1 .
Пример 2: проверка наличия символа с помощью регулярного выражения
// program to check the occurrence of a character function countString(str, letter) ( // creating regex const re = new RegExp(letter, 'g'); // matching the pattern const count = str.match(re).length; return count; ) // take input from the user const string = prompt('Enter a string: '); const letterToCheck = prompt('Enter a letter to check: '); //passing parameters and calling the function const result = countString(string, letterToCheck); // displaying the result console.log(result);
Вывод
Введите строку: школа Введите букву для проверки: o 2
В приведенном выше примере регулярное выражение (regex) используется для поиска вхождения строки.
const re = new RegExp(letter, 'g');
создает регулярное выражение.match()
Метод возвращает массив , содержащий все матчи. Здесьstr.match(re);
дает ("о", "о").length
Свойство задает длину элемента массива.