JavaScript: методы работы со строками. Работа со строками в javascript: полный разбор полетов со строковыми переменными Разбор строки javascript
Задача . Поиск и замена
Задача. Дана строка "aaa@bbb@ccc" . Замените все @ на "!" с помощью глобального поиска и замены.
Решение: в данном случае необходимо воспользоваться методом replace , который выполняет поиск и замену. Однако, при простом варианте использования, эта метод найдет и заменит только первое совпадение :
Var str = "aaa@bbb@ccc"; alert(str.replace("@", "!")); //получим "aaa!bbb@ccc"
Чтобы заменить все совпадения, воспользуемся глобальным поиском с помощью регулярного выражения :
Var str = "aaa@bbb@ccc"; alert(str.replace(/@/g, "!")); //получим "aaa!bbb!ccc"
Задача . Методы substr, substring, slice
Задача. Дана строка "aaa bbb ccc" . Вырежите из нее слово "bbb" тремя разными способами (через substr , substring , slice).
Решение: слово "bbb" начинается с символа номер 4 (нумерация с нуля), а заканчивается символом номер 6. Воспользуемся указанными методами:
Var str = "aaa bbb ccc"; alert(str.substr(4, 3)); //substr(откуда отрезать, сколько отрезать) alert(str.substring(4, 7)); //substring(откуда отрезать, докуда отрезать) alert(str.slice(4, 7)); //slice(откуда отрезать, докуда отрезать)
Обратите внимание на то, что в методах substring и slice второй параметр должен быть на 1 больше того символа, который мы хотим забрать (то есть, если указать число 7 - то отрезание произойдет до 6 символа включительно).
Задача . Преобразование формата даты
Задача. В переменной date лежит дата в формате "2025-12-31" "31/12/2025" .
Решение: с помощью метода split разобьем нашу строку "2025-12-31" в массив по разделителю "-" , при этом в нулевом элементе окажется год, в первом - месяц, во втором - день:
Var str = "2025-12-31"; var arr = split("-"); alert(arr);//получим массив ["2025", "12", "31"]
Теперь, обращаясь к разным элементам массива по их ключам, сформируем нужную нам строку:
Var str = "2025-12-31"; var arr = split("-"); var newStr = arr + "/" + arr + "/"+arr; alert(newStr); //получим строку "31/12/2025"
Задачи для решения
Работа с регистром символов
Дана строка "js" . Сделайте из нее строку "JS" .
Дана строка "JS" . Сделайте из нее строку "js" .
Работа с length, substr, substring, slice. Работа с indexOf
Дана строка "я учу javascript!" . Найдите количество символов в этой строке.
Дана строка "я учу javascript!" . Найдите позицию подстроки "учу" .
Дана переменная str , в которой хранится какой-либо текст. Реализуйте обрезание длинного текста по следующему принципу: если количество символов этого текста больше заданного в переменной n, то в переменную result запишем первые n символов строки str и добавим в конец троеточие "...". В противном случае в переменную result запишем содержимое переменной str .
Работа с replace
Дана строка "Я-учу-javascript!" . Замените все дефисы на "!" с помощью глобального поиска и замены.
Работа с split
Дана строка "я учу javascript!" . С помощью метода split запишите каждое слово этой строки в отдельный элемент массива.
Дана строка "я учу javascript!" . С помощью метода split запишите каждый символ этой строки в отдельный элемент массива.
В переменной date лежит дата в формате "2025-12-31" . Преобразуйте эту дату в формат "31.12.2025" .
Работа с join
Дан массив ["я", "учу", "javascript", "!"] . С помощью метода join преобразуйте массив в строку "я+учу+javascript+!" .
Задачи
Преобразуйте первую букву строки в верхний регистр.
Преобразуйте первую букву каждого слова строки в верхний регистр.
Преобразуйте строку "var_test_text" в "varTestText" . Скрипт, конечно же, должен работать с любыми аналогичными строками.
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Как семантические «каркасы» использования функций и конструкций для обработки строк представляют особенный интерес для программирования процессов обработки информации по её смысловому содержанию. На языке JavaScript функции работы со строками можно комбинировать в собственные смысловые конструкции, упрощая код и формализуя предметную область задачи.
В классическом варианте обработка информации - это, прежде всего, строковые функции. Каждая функция и конструкция языка имеет свои особенности в синтаксисе и семантике JavaScript. Методы работы со строками здесь имеют свой стиль, но в обычном применении это просто синтаксис в пределах простой семантики: поиск, замена, вставка, извлечение, контенкация, смена регистра...
Описание строковых переменных
Для объявления строки используется конструкция var. Можно сразу задать ее значение или формировать его в ходе исполнения алгоритма. Для строки можно использовать одинарные или двойные кавычки. Если в ней должна быть кавычка, её необходимо экранировать символом «\».
Строка, обозначенная требует экранирования внутренних двойных кавычек. Аналогично та, что обозначена одинарными, критична к наличию внутри одинарных кавычек.
В данном примере в строке «str_dbl» перечислены полезные специальные символы, которые можно использовать в строке. При этом сам символ «\» экранирован.
Строка - это всегда массив
Работа JavaScript со строками может выполняться множеством способов. Синтаксис языка предоставляет много вариантов. В первую очередь никогда не следует забывать, что (в контексте сделанных описаний):
- str_isV => «V»;
- str_chr => «"»;
- str_dbl => «a».
То есть символы строки доступны как элементы массива, при этом каждый специальный символ - это один символ. Экранирование - это элемент синтакиса. В реальную строку никакой «экран» не помещается.
Использование функции charAt() дает аналогичный эффект:
- str_isV.charAt(3) => «V»;
- str_chr.charAt(1) => «"»;
- str_dbl.charAt(5) => «a».
Программист может использовать любой вариант.
Основные строковые функции
В JavaScript выполнена несколько иначе, чем в других языках. К имени переменной (или непосредственно строки) через точку записывается имя функции. Обычно строчные функции именуют методами в стиле синтаксиса языка, но первое слово привычнее.
Самый важный метод строки (правильнее - свойство) - её длина.
- var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.
Результат: 11/12/175 по строкам приведенного выше описания.
Самая важная строчная пара функций - разделение строки на массив элементов и слияние массива в строку:
- split(s [, l]);
- join(s).
В первом случае строка разбивается по символу-разделителю «s» на массив элементов, в котором количество элементов не превышает значения «l». Если количество не задано, то разбивается вся строка.
Во втором случае массив элементов сливается в одну строку через заданный разделитель.
Примечательная особенность данной пары: разбиение можно производить по одному разделителю, а слияние - по другому. В этом контексте в JavaScript работа со строками может быть «выведена за пределы» синтаксиса языка.
Классические строчные функции
Обычные функции обработки строк:
- поиск;
- выборка;
- замена;
- преобразование.
Представлены методами: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() и другими.
В JavaScript работа со строками представлена большим множеством функций, но они либо дублируют друг друга, либо оставлены для старых алгоритмов и совместимости.
Например, использование метода concat() допустимо, но проще написать:
- str = str1 + str2 + str3;
Применение функции charAt() тоже имеет смысл, а вот применение charCodeAt() имеет реальное практическое значение. Аналогично, для JavaScript перенос строки имеет особенный смысл: в контексте вывода на экран, например, в сообщении alert() - это «\n», в конструкции формирования контента страницы это «
». В первом случае это просто символ, а во втором - строка символов.
Строки и регулярные выражения
В JavaScript работа со строками включает в себя механизм регулярных выражений. Это позволяет выполнять внутри браузера сложные поиски, выборки и преобразования строк без обращения к серверу.
Метод match находит, а replace заменяет найденное совпадение нужным значением. Регулярные выражения реализованы в JavaScript на высоком уровне, по сути своей, являются сложными, а ввиду специфики применения переносят центр тяжести с сервера в браузер клиента.
При применении методов match, search и replace следует не только уделить должное внимание тестированию на всём спектре допустимых значений исходных параметров и искомых строк, но и оценить нагрузку на браузер.
Примеры регулярных выражений
Область применения регулярных выражений для обработки строк обширна, но требует большой аккуратности и внимательности от разработчика. В первую очередь регулярки находят применение при тестировании ввода пользователя в полях форм.
Здесь представлены функции, которые проверяют, ввод содержит целое число (schInt) или число вещественное (schReal). Следующий пример показывает, насколько эффективно обрабатывать строки, проверяя их на наличие только допустимых символов: schText - только текст, schMail - правильный адрес электронной почты.
Очень важно иметь в виду, что в JavaScript символы и строки требуют повышенного внимания к локали, особенно когда нужно работать с кириллицей. Во многих случаях целесообразно указывать реальные коды символов, нежели их значения. Русских букв это касается в первую очередь.
Следует особенно отметить, что далеко не всегда следует выполнять задачу, как она поставлена. В частности, в отношении проверки целых чисел и вещественных: можно обойтись не классическими строчными методами, а обычными конструкциями синтаксиса.
Объектно-ориентированные строки
В JavaScript работа со строками представлена широким ассортиментом функций. Но это не является веским основанием для использования их в первозданном виде. Синтаксис и качество функций безупречны, но это универсальное решение.
Любое применение строчных функций предполагает обработку реального смысла, который определяется данными, областью применения, конкретным назначением алгоритма.
Идеальное решение всегда состоит в том, чтобы интерпретировать данные по их смыслу.
Представляя каждый параметр в виде объекта, можно сформулировать функции для работы с ним. Всегда речь идет об обработке символов: числа или строки - это конкретным образом организованные последовательности символов.
Есть общие алгоритмы, а есть частные. Например, фамилия или номер дома - это строки, но если в первом случае допустимы только русские буквы, то во втором случае допустимы цифры, русские буквы и могут встречаться дефисы или индексы через наклонную черту. Индексы могут быть буквенными или цифровыми. Дом может иметь корпуса.
Все ситуации не всегда можно предусмотреть. Это важный момент в программировании. Редкий алгоритм не требует доработки, а в большинстве случаев приходится систематически корректировать функционал.
Формализация обрабатываемой строчной информации в виде объекта улучшает читабельность кода, позволяет вывести его на уровень смысловой обработки. Это другая степень функциональности и значительно лучшее качество кода при большей надежности разработанного алгоритма.
Задача . Поиск и замена
Задача. Дана строка "aaa@bbb@ccc" . Замените все @ на "!" с помощью глобального поиска и замены.
Решение: в данном случае необходимо воспользоваться методом replace , который выполняет поиск и замену. Однако, при простом варианте использования, эта метод найдет и заменит только первое совпадение :
Var str = "aaa@bbb@ccc"; alert(str.replace("@", "!")); //получим "aaa!bbb@ccc"
Чтобы заменить все совпадения, воспользуемся глобальным поиском с помощью регулярного выражения :
Var str = "aaa@bbb@ccc"; alert(str.replace(/@/g, "!")); //получим "aaa!bbb!ccc"
Задача . Методы substr, substring, slice
Задача. Дана строка "aaa bbb ccc" . Вырежите из нее слово "bbb" тремя разными способами (через substr , substring , slice).
Решение: слово "bbb" начинается с символа номер 4 (нумерация с нуля), а заканчивается символом номер 6. Воспользуемся указанными методами:
Var str = "aaa bbb ccc"; alert(str.substr(4, 3)); //substr(откуда отрезать, сколько отрезать) alert(str.substring(4, 7)); //substring(откуда отрезать, докуда отрезать) alert(str.slice(4, 7)); //slice(откуда отрезать, докуда отрезать)
Обратите внимание на то, что в методах substring и slice второй параметр должен быть на 1 больше того символа, который мы хотим забрать (то есть, если указать число 7 - то отрезание произойдет до 6 символа включительно).
Задача . Преобразование формата даты
Задача. В переменной date лежит дата в формате "2025-12-31" "31/12/2025" .
Решение: с помощью метода split разобьем нашу строку "2025-12-31" в массив по разделителю "-" , при этом в нулевом элементе окажется год, в первом - месяц, во втором - день:
Var str = "2025-12-31"; var arr = split("-"); alert(arr);//получим массив ["2025", "12", "31"]
Теперь, обращаясь к разным элементам массива по их ключам, сформируем нужную нам строку:
Var str = "2025-12-31"; var arr = split("-"); var newStr = arr + "/" + arr + "/"+arr; alert(newStr); //получим строку "31/12/2025"
Задачи для решения
Работа с регистром символов
Дана строка "js" . Сделайте из нее строку "JS" .
Дана строка "JS" . Сделайте из нее строку "js" .
Работа с length, substr, substring, slice. Работа с indexOf
Дана строка "я учу javascript!" . Найдите количество символов в этой строке.
Дана строка "я учу javascript!" . Найдите позицию подстроки "учу" .
Дана переменная str , в которой хранится какой-либо текст. Реализуйте обрезание длинного текста по следующему принципу: если количество символов этого текста больше заданного в переменной n, то в переменную result запишем первые n символов строки str и добавим в конец троеточие "...". В противном случае в переменную result запишем содержимое переменной str .
Работа с replace
Дана строка "Я-учу-javascript!" . Замените все дефисы на "!" с помощью глобального поиска и замены.
Работа с split
Дана строка "я учу javascript!" . С помощью метода split запишите каждое слово этой строки в отдельный элемент массива.
Дана строка "я учу javascript!" . С помощью метода split запишите каждый символ этой строки в отдельный элемент массива.
В переменной date лежит дата в формате "2025-12-31" . Преобразуйте эту дату в формат "31.12.2025" .
Работа с join
Дан массив ["я", "учу", "javascript", "!"] . С помощью метода join преобразуйте массив в строку "я+учу+javascript+!" .
Задачи
Преобразуйте первую букву строки в верхний регистр.
Преобразуйте первую букву каждого слова строки в верхний регистр.
Преобразуйте строку "var_test_text" в "varTestText" . Скрипт, конечно же, должен работать с любыми аналогичными строками.
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Последнее обновление: 06.04.2018
Для создания строк мы можем как напрямую присваивать переменной строку:
Let name = "Tom";
Для работы со строками предназначен объект String , поэтому также можно использовать конструктор String:
Var name = new String("Tom");
Но как правило, используется первый более краткий способ. В первом случае JavaScript при необходимости автоматически преобразует переменную примитивного типа в объект String.
Объект String имеет большой набор свойств и методов, с помощью которых мы можем манипулировать строками.
Свойство length указывает на длину строки:
Var hello = "привет мир"; console.log("В строке "" + hello + "" " + hello.length + " символов");
Метод repeat() позволяет создать строку путем многократного повторения другой строки. Количество повторов передается в качестве аргумента:
Let hello = "hello "; console.log(hello.repeat(3)); // hello hello hello
Шаблоны строк
Шаблоны строк позволяют вставлять в строку различные значения. Для этого строки заключаются в косые кавычки:
Let name = "Tom"; let hello = `Hello ${name}`; console.log(hello); // Hello Tom let age = 23; let info = `${name} is ${age} years old`; console.log(info); // Tom is 23 years old
Для вставки значения в строку оно заключается в фигурные скобки, перед которыми ставится знак доллара.
Также вместо скалярных значений могут добавляться свойства сложных объектов или результаты выражений:
Let tom ={ name: "Tom", age: 25 } let info = `${tom.name} is ${tom.age} years old`; console.log(info); // Tom is 23 years old function sum(x, y){ return x + y; } let a = 5, b = 4; let result = `${a} + ${b} = ${sum(a, b)}`; console.log(result); // 5 + 4 = 9
Поиск в строке
Для поиска в строки некоторой подстроки используются методы indexOf() (индекс первого вхождения подстроки) и lastIndexOf() (индекс последнего вхождения подстроки). Эти методы принимают два параметра:
Подстроку, которую надо найти
Необязательный параметр, который указывает, с какого символа следует проводить поиск подстроки в строке
Оба этих метода возвращают индекс символа, с которого в строке начинается подстрока. Если подстрока не найдена, то возвращается число -1.
Let hello = "привет мир. пока мир"; let key = "мир"; let firstPos = hello.indexOf(key); let lastPos = hello.lastIndexOf(key); console.log("Первое вхождение: ", firstPos); // 7 console.log("Последнее вхождение: ", lastPos); // 17
Еще один метод - includes() возвращает true, если строка содержит определенную подстроку.
Let hello = "привет мир. пока мир"; console.log(hello.includes("мир")); // true console.log(hello.includes("миг")); // false
С помощью второго дополнительного параметра можно определить индекс, с которого будет начинаться поиск подстроки:
Let hello = "привет мир. пока мир"; console.log(hello.includes("мир", 5)); // true console.log(hello.includes("привет", 6)); // false
Выбор подстроки
Для того, чтобы вырезать из строки подстроку, применяются методы substr() и substring() .
Метод substring() принимает два параметра:
индекс символа в строке, начиная с которого надо проводить обрезку строки
индекс, до которого надо обрезать строку
Метод substr() также в качестве первого параметра принимает начальный индекс подстроки, а в качестве второго - длину вырезаемой подстроки:
Let hello = "привет мир. пока мир"; let bye = hello.substr(12, 4); console.log(bye); // пока
Если второй параметр не указывается, то обрезается вся остальная часть строки:
Let hello = "привет мир. пока мир"; let bye = hello.substr(12); console.log(bye); // пока мир
Управление регистром
Для изменения регистра имеются методы toLowerCase() (для перевода в нижний регистр) и toUpperCase() (для перевода в верхний регистр).
Let hello = "Привет Том"; console.log(hello.toLowerCase()); // привет том console.log(hello.toUpperCase()); // ПРИВЕТ ТОМ
Получение символа по индексу
Чтобы получить определенный символ в строке по индексу, можно применять методы charAt() и charCodeAt() . Оба этих метода в качестве параметра принимают индекс символа:
Let hello = "Привет Том"; console.log(hello.charAt(2)); // и console.log(hello.charCodeAt(2)); // 1080
Но если в качестве результата метод charAt() возвращает сам символ, то метод charCodeAt() возвращает числовой код этого символа.
Удаление пробелов
Для удаления начальных и концевых пробелов в стоке используется метод trim() :
Let hello = " Привет Том "; let beforeLength = hello.length; hello = hello.trim(); let afterLength = hello.length; console.log("Длина строки до: ", beforeLength); // 15 console.log("Длина строки после: ", afterLength); // 10
Объединение строк
Метод concat() объединяет две строки:
Let hello = "Привет "; let world = "мир"; hello = hello.concat(world); console.log(hello); // Привет мир
Замена подстроки
Метод replace() заменяет первое вхождение одной подстроки на другую:
Let hello = "Добрый день"; hello = hello.replace("день", "вечер"); console.log(hello); // Добрый вечер
Первый параметр метода указывает, какую подстроку надо заменить, а второй параметр - на какую подстроку надо заменить.
Разделение строки
Метод split() разбивает строку на массив подстрок по определенному разделителю. В качестве разделителя используется строка, которая передается в метод:
Var message = "Сегодня была прекрасная погода"; var stringArray = message.split(" "); for(var str in stringArray) console.log(stringArray);
Вывод браузера
Сегодня была прекрасная погода
Проверка начала и окончания строки
Метод startsWith() возвращает true, если строка начинается с определенной подстроки. А метод endsWith() возвращает true, если строка оканчивается на определенную подстроку.
Let hello = "let me speak from my heart"; console.log(hello.startsWith("let")); // true console.log(hello.startsWith("Let")); // false console.log(hello.startsWith("lets")); // false console.log(hello.endsWith("heart")); // true console.log(hello.startsWith("bart")); // false
При этом играет роль регистр символов, и из примера выше мы видим, что "let" не эквивалентно "Let".
Дополнительный второй параметр позволяет указать индекс (для startsWith - индекс с начала, а для endsWith - индекс с конца строки), относительно которого будет производиться сравнение:
Let hello = "let me speak from my heart"; console.log(hello.startsWith("me", 4)); // true, "me" - 4 индекс с начала строки console.log(hello.startsWith("my", hello.length-8)); // true, "my" - 8 индекс с конца
Приветствую всех, кто основательно решил изучить прототипно-ориентированный язык. В прошлый я рассказал вам про , а сегодня мы будем разбирать строки JavaScript-а. Так как в этом языке все текстовые элементы являются строками (нет отдельного формата для символов), то вы можете сами догадаться, что этот раздел занимает значимую часть в изучении синтаксиса js.
Именно поэтому в этой публикации я расскажу вам, как создаются строчные элементы, какие методы и свойства для них предусмотрены, как правильно конвертировать строки, например, преобразовывать в число, каким образом можно извлечь нужную подстроку и многое другое. В добавок к этому я прикреплю примеры программного кода. А теперь вперед за дело!
Синтаксис строчных переменных
В языке js все переменные объявляются при помощи ключевого слова var, а далее в зависимости от формата оформления параметров определяется тип объявленной переменной. Как вы помните из , в JavaScript-е отсутствует строгая типизация. Именно поэтому в коде и обстоит вот такая ситуация.
При инициализации переменных значения могут быть обрамлены в двойные, одинарные, а начиная с 2015 года и в скошенные одинарные кавычки. Ниже я прикрепил примеры каждого способа объявления строк.
Хочу уделить особое внимание третьему способу. Он обладает рядом преимуществ.
С его помощью можно спокойно осуществлять перенос строки и это будет выглядеть вот так:
alert (`несколько
переношу
А еще третий способ позволяет использовать конструкцию ${…}. Такой инструмент нужен для вставки интерполяции. Не пугайтесь, сейчас расскажу, что это такое.
Благодаря ${…} в строки можно вставлять не только значения переменных, а еще и выполнять с ними арифметические и логические операции, вызывать методы, функции и т.д. Все это называется одним терминов – интерполяция. Ознакомьтесь с примером реализации данного подхода.
1 2 3 | var pen = 3; var pencil = 1; alert(`${pen} + ${pencil*5} = ${pen + pencil}`); |
var pen = 3; var pencil = 1; alert(`${pen} + ${pencil*5} = ${pen + pencil}`);
В результате на экран выведется выражение: «3 + 1*5 = 8».
Что касается первых двух способов объявления строк, то в них разницы никакой нет.
Поговорим немного о специальных символах
Во многих языках программирования есть специальные символы, которые помогают управлять текстом в строках. Самый известный среди них – это перенос строки (\n) .
Все аналогичные инструменты изначально начинаются с обратного слеша (\) и после идут буквы английского алфавита.
Ниже я прикрепил небольшую табличку, в которой перечислены некоторые специальные символы.
Запасаемся тяжелым арсеналом методов и свойств
Разработчиками языка было предусмотрено множество методов и свойств для упрощения и оптимизации работы со строками. А с выпуском в свет нового стандарта под названием ES-2015 в прошлом году, этот список пополнился новенькими инструментами.
Length
Начну с самого популярного свойства, которое помогает узнать длину значений строчных переменных. Это length . Он используется таким образом:
var string = «Единороги»;
alert (string.length);
В ответе будет выведено число 9. Также данное свойство можно применять и к самим значениям:
«Единороги».length;
Результат не изменится.
charAt ()
Этот метод позволяет вытащить определенный символ из текста. Напоминаю, что нумерация начинается с нуля, поэтому чтобы вытащить первый символ из строки, необходимо прописать вот такие команды:
var string = «Единороги»;
alert (string.charAt (0));.
Однако полученный результат не будет символьного типа, он все еще будет считаться строкой, состоящей из одной буквы.
От toLowerCase () к toUpperCase ()
Данные методы управляют регистром символов. При написании кода «Контент».
toUpperCase () все слово будет отображено заглавными буквами.
Для противоположного эффекта стоит использовать «Контент». toLowerCase () .
indexOf ()
Востребованное и нужное средство для поиска подстроки. В качестве аргумента нужно вписать слово или фразу, которую необходимо найти, а метод возвращает позицию найденного элемента. Если же искомый текст не был найден, пользователю вернется «-1».
1 2 3 4 | var text = "Организовать поиск цветов!"; alert(text.indexOf("цвет")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18 |
var text = "Организовать поиск цветов!"; alert(text.indexOf("цвет")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18
Заметьте, lastIndexOf () выполняет те же действия, только поиск осуществляется с конца предложения.
Извлечение подстрок
Для этого действия в js было создано три примерно одинаковых метода.
Разберем сначала substring (start, end) и slice (start, end) . Работают одинаково. Первый аргумент определяет начальную позицию, с которой будет начинаться извлечение, а второй отвечает за конечный пункт остановки. В обоих методах строка извлекается, не включая символ, который расположен на позиции end.
var text = "Атмосфера"; alert(text.substring(4)); // выведет «сфера» alert(text.substring(2, 5)); //отобразит «мос» alert(text.slice(2, 5)); //отобразит «мос»
А теперь разберем третий метод, который называется substr () . В нем также нужно прописывать 2 аргумента: start и length .
Первый указывает начальную позицию, а второй – количество символов, которые нужно извлечь. Чтобы отследить разницу между этими тремя инструментами, я воспользовался прошлым примером.
var text = «Атмосфера»;
alert (text.substr (2, 5)); //отобразит «мосфе»
Используя перечисленные средства взятия подстрок, можно удалить ненужные символы из новых строчных элементов, с которыми далее работает программа.
Replase ()
Данный метод помогает заменить символы и подстроки в тексте. С его помощью можно также реализовывать и глобальные замены, но для этого нужно включать регулярные выражения.
В этом примере заменится подстрока только в первом слове.
var text = "Атмосфера Атмосфера"; var newText = text.replace("Атмо","Страто") alert(newText) // Результат: Стратосфера Атмостфера
А в этой программной реализации из-за флага регулярного выражения “g” будет выполнена глобальная замена.
var text = "Атмосфера Атмосфера"; var newText = text.replace(/Атмо/g,"Страто") alert(newText) // Результат: Стратосфера Стратосфера
Займемся конвертацией
В JavaScript предусмотрено только три вида преобразования типов объектов:
- Числовое;
- Строковое;
- Логическое.
В текущей публикации я расскажу про 2 из них, так как знание о них нужнее для работы со строками.
Числовое преобразование
Чтобы значение элемента явно преобразовать к числовому виду, можно использовать Number (value) .
Есть и более короткое выражение: +«999» .
var a = Number («999»);
Строковая конвертация
Выполняется функцией alert , а также явным вызовом String (text) .