Объект String в Javascript
Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье вы узнали об объекте Date в Javascript. В данной статье я бы хотел рассказать об объекте String в Javascript. Ни для кого не секрет, что работа со строками занимает одну из ведущих позиций абсолютно в любом языке программирования, поэтому крайне важно уметь с ними работать. Давайте всё также, на примерах, разбираться с методами и свойствами объекта String в Javascript.
Первое свойство, которое следует изучить — это свойство length, которое возвращает длину строки:
<script> var str = "Работаем со строками в Javascript"; document.write(str.length); //33 </script>
Метод indexOf() служит для определения вхождения подстроки, переданной в параметре метода, в строку и возвращает первую позицию вхождения. Если вхождений будет несколько, то вернется начальная позиция первого вхождения (напоминаю, что нумерация начинается с нуля). Если такой подстроки не содержится, то будет возращено -1. Также у данного метода есть один необязательный параметр, который указывает с какой позиции начинать поиск. Также подстрока чувствительна к регистру:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.indexOf("vas") + "</br>"); //2 document.write(str.indexOf("Vas") + "</br>"); //-1 document.write(str.indexOf("vas", 10) + "</br>"); //35 первый javascript прошли, совпадение найдено во втором слове document.write(str.indexOf("vasek") + "</br>"); //-1 такой подстроки у нас нет </script>
Данный метод обычно используется для поиска. Также существует метод lastIndexOf(), который возвращает номер позиции с конца, а не с начала.
Метод replace() применяется для замены подстроки на другую строку. На примере будет нагляднее:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.replace("Javascript", "php")); //php. Работа со строками в Javascript </script>
Результат может немного озадачить. Во-первых, данный метод также чувствителен к регистру. Во-вторых, данный метод изменяет только первое вхождение. Для того, чтобы изменить все вхождения необходимо использовать регулярное выражение. Данную тему рассмотрим в одном из следующих уроков, подпишитесь на обновления, чтобы не пропустить, а пока просто приведу пример:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.replace(/Javascript/g, "php")); </script>
Метод charAt() позволяет получить символ по его номеру в строке. По идее к элементам строки можно обращаться, как к элементам массива. Если такого индекса не существует, о вернется пустая строка. Пример:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.charAt(4) + "</br>"); //s document.write(str[4] + "</br>"); //s </script>
С помощью метода String.fromCharCode() можно узнать код символа и вывести его (обращаю ваше внимание, что данный метод статистический). Более подробно данный пример разбирался здесь.
Метод charCodeAt() возвращает номер символа (по кодировке Unicode) в строке. Пример:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.charCodeAt(5) + "</br>"); //99 </script>
Метод split() позволяет разбить строку на несколько строк по определенному разделителю (тип возвращаемого значения — массив). Если разделитель не указан, то возвращается исходная строка. Думаю на примере всё станет намного понятнее:
<script> var days = "Понедельник, Вторник, Среда"; var daysList = days.split(","); document.write(daysList[1]); //Вторник </script>
Метод slice(begin, end) служит для того, чтобы возвращать часть строки, включая позицию begin, и не включая позицию end. Если end Не указывать, то будет взята вся строка, начиная с begin. Пример:
<script> var str = "Javascript. Работа со строками в Javascript"; document.write(str.slice(4, 10) + "</br>"); //script document.write(str.slice(4) + "</br>"); //script. Работа со строками в Javascript </script>
Есть также метод substr(), который полностью аналогичен этому, за исключением того, что slice() может работать ещё с массивами, в отличие от substr().
Метод toLowerCase() используется для перевода строки в нижний регистр, а метод toUpperCase() — в верхний:
<script> var str = "Javascript. Работа со СтрОками в Javascript"; document.write(str.toLowerCase() + "</br>"); document.write(str.toUpperCase() + "</br>"); </script>
В качестве домашнего задания необходимо написать аналог метода toUpperCase(). Создайте функцию, которая будет принимать строку из русских букв и выводить её в верхнем регистре. Здесь необходимо будет работать с кодами символов. Решение пишите в комментариях.
В данной статье вы узнали, что такое объект String в Javascript, а также как с ним работать.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.