Задача . Поиск и замена

Задача. Дана строка "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 любая текстовая переменная является строкой, поскольку JavaScript является не строго типизированным языком программирования (о типах данных читайте ). И также для работы со строками используется класс String:

Var name1 = "Tommy";

Так и использовать конструктор String:

Var name1 = new String("Tommy");

В основном используется 1-ый способ наверное потому что он более краток.

Класс для работы со строками String имеет в своем арсенале довольно большой набор свойств и функций, с помощью которых вы можете совершать различные манипуляции со строками.

Длина строки

Свойство length позволяет задавать а длину строки. Данное свойство возвращает число:

Var hello1 = "привет мир"; document.write("В строке "" + hello + "" " + hello1.length + " символов");

Поиск в строке

Для того чтобы найти в строке некоторую подстроку применяются функции indexOf() (возвращает индекс первого вхождения подстроки) и lastIndexOf() (возвращает индекс последнего вхождения подстроки). Эти функции принимают два аргумента:

  • Подстроку, которую собственно и надо найти
  • Необязательный аргумент, который показывает, с какого символа надо проводить поиск подстроки в строке

Обе эти функции возвращают число, которое является индексом символа, с которого в строке начинается подстрока. В случае если подстрока не найдена, то вернется число -1. Поэтому данные функции используются в логических операторах , потому что как правило надо просто проверить содержит строка подстроку или нет, то в этом случае результат работы этих функций сравнивается с -1.

Var str1 = "Привет Вася!"; var podstr = "Петя"; if(str.indexOf(podstr) == -1){ document.write("Подстрока не найдена."); } else { document.write("Подстрока найдена."); }

В примере будет выведено сообщение «Подстрока не найдена», поскольку строка «Петя» не содержится в строке «Привет Вася!».

Функции includes, startsWith, endsWith

Более современный метод str.includes(substr, pos) возвращает true, если в строке str есть подстрока substr, либо false, если нет.

Это - правильный выбор, если нам необходимо проверить, есть ли совпадение, но позиция не нужна:

Alert("Widget with id".includes("Widget")); // true alert("Hello".includes("Bye")); // false

Необязательный второй аргумент str.includes позволяет начать поиск с определённой позиции:

Alert("Midget".includes("id")); // true alert("Midget".includes("id", 3)); // false, поиск начат с позиции 3

Методы str.startsWith и str.endsWith проверяют, соответственно, начинается ли и заканчивается ли строка определённой строкой:

Alert("Widget".startsWith("Wid")); // true, "Wid" - начало "Widget" alert("Widget".endsWith("get")); // true, "get" - окончание "Widget"

Выбор подстроки

Для вырезания из строки подстроки, используются такие функции как substr() и substring().

Функция substring() принимает 2 аргумента:

  • стартовая позиция символа в строке, начиная с которого будет произведена обрезка строки
  • конечная позиция до которой надо обрезать строку
var hello1 = "привет мир. До свидания мир"; var world1 = hello1.substring(7, 10); //с 7-го по 10-й индекс document.write(world1); //мир

Функция substr() также в качестве 1-го параметра принимает стартовый индекс подстроки, а вот в качестве 2-го — длину подстроки:

Var hello1 = "привет мир. До свидания мир"; var bye1 = hello1.substr(12, 2); document.write(bye1);//До

Да и если 2-ой параметр не указывать, то строка будет обрезана до конца:

Var hello1 = "привет мир. До свидания мир"; var bye1 = hello1.substr(12); document.write(bye1); //пока мир

Управление регистром букв

Для изменения регистра букв, то есть чтобы сделать все буквы маленькими или большими используются функции toLowerCase() (для перевода символов в нижний регистр, то есть все буквы будут маленькими) и toUpperCase() (для перевода символов в верхний регистр, то есть все буквы будут большими).

Var hello1 = "Привет Джим"; document.write(hello1.toLowerCase() + "
"); //привет джим document.write(hello1.toUpperCase() + "
"); //ПРИВЕТ ДЖИМ

Получение символа по его индексу

Для того чтобы найти определенный символ в строке по его индексу, применяются функции charAt() и charCodeAt(). Обе эти функции в качестве аргумента принимают индекс символа:

Var hello1 = "Привет Джим"; document.write(hello1.charAt(3) + "
"); //в document.write(hello1.charCodeAt(3) + "
"); //1080

Но вот только если в качестве результата своей работы функция charAt() вернет сам символ, то функция charCodeAt() вернет числовой Юникод код этого символа.

Удаление пробелов

Для удаления пробелов в стоке используется функция trim():

Var hello1 = " Привет Джим "; var beforeLen = hello1.length; hello1 = hello1.trim(); var afterLen = hello1.length; document.write("Длина строки до: " + beforeLen + "
"); //15 document.write("Длина строки после: " + afterLen + "
"); //10

Объединение строк

Функция concat() позволяет объединить 2 строки:

Var hello1 = "Привет "; var world1 = "Вася"; hello1 = hello1.concat(world1); document.write(hello); //Привет Вася

Замена подстроки

Функция replace() позволяет заменить одну подстроку на другую:

Var hello1 = "Добрый день"; hello1 = hello1.replace("день", "вечер"); document.write(hello1); //Добрый вечер

Первый аргумент функции указывает, какую именно подстроку надо заменить, а 2-ой аргумент — на какую собственно подстроку надо заменить.

Разделение строки на массив

Функция split() позволяет разделить строку на массив подстрок, используя определенный разделитель. В качестве оного можно использовать строку, которую передавать в метод:

Var mes = "Сегодня была прекрасная погода"; var stringArr = mes.split(" "); for(var str1 in stringArr) document.write(stringArr + "
");

Сравнение строк

Также при сравнении строк следует учитывать регистр букв. Большая буква меньше маленькой, а буква ё вне алфавита вообще.

ЗАДАНИЯ

Замена регистра последней буквы в строке

Напишите функцию lastLetterStr(str), которая будет заменять регистр последней буквы, делая ее большой.

Проверка на спам

Напишите функцию provSpam(str), которая будет проверять строку на наличие подстрок: «spam», «sex», «xxx». И возвращать true, если есть данные подстроки и false в противном случае.

Найти число

Напишите функцию extrNum(str), которая из строки получает число, если строка содержит число и возвращать должна функция число. Например есть строка «120грн» нужно вернуть из строки 120.

И на закрепление смотрите видео по работе со строками в 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. Просто пропускайте такие видео, посмотрите потом.

Тип данных строка (string) используется для представления текста. Соответственно, значениями типа string является текст. Любой текст в JavaScript является строкой.

Кавычки

Строки в JavaScript должны быть заключены в кавычки. В JavaScript существует три вида кавычек: двойные (" "), одинарные (" ") и обратные (` `):

"Строка в двойных кавычках" "Строка в одинарных кавычках" `Строка в обратных кавычках`

Вид кавычек в начале и конце строки должен совпадать.

Строки могут состоять из нуля и более символов:

"" // Пустая строка "Строка" // Не пустая строка

Строки с двойными и одинарными кавычками ничем не отличаются между собой по функционалу - они могут содержать лишь текст и управляющие последовательности. А вот строки с обратными кавычками имеют более широкий функционал. Такие строки могут содержать так называемые подстановки , обозначаемые знаком доллара и фигурными скобками ${выражение} . Подстановки могут содержать любые произвольные выражения:

Let стр = "Мир!"; let стр2 = `Привет, ${стр}`; // Использование переменной в строке alert(стр2); // Привет, Мир! alert(`2 + 3 = ${2 + 3}.`); // 2 + 3 = 5.

Выражение, расположенное в подстановке (${...}) вычисляется, и его результат становится частью строки.

Строки в обратных кавычках могут занимать более одной строки, сохраняя все пробельные символы:

Let числа = `Числа: 1 2`; alert(числа); // Числа: // 1 // 2

Строки с обратными кавычками называются строками-шаблонами или шаблонными литералами .

Строки, заключённые в одни кавычки, могут содержать другие кавычки:

"одинарные "кавычки" и `обратные` внутри двойных" "а здесь "так" и `так`!" `а здесь "так" и "так"!`

Для удобства, большие строковые литералы можно разбивать на несколько строк, заканчивая каждую строку, кроме последней, символом \ :

Alert("это всё одна \ длинная \ строка"); // это всё одна длинная строка alert("это всё одна \ длинная \ строка"); // это всё одна длинная строка alert(`это всё одна \ длинная \ строка`); // это всё одна длинная строка

Кодировка символов строки

Вне зависимости от того, какая кодировка установлена для страницы, в JavaScript для строк всегда используется кодировка UTF-16.

В JavaScript строка - это неизменяемая, упорядоченная последовательность 16-битных значений, каждое из которых представляет символ Unicode. Для представления символов Unicode в JavaScript используется кодировка UTF-16. Символы включают в себя буквы, цифры, знаки пунктуации, специальные символы и пробельные символы.

Длина строки

Длина строки - это количество 16-битных значений (а не самих символов), содержащихся в ней. Длину строки содержит свойство length:

Alert("Привет".length); // 6

Символы, кодовые пункты которых не умещаются в 16 бит, обрабатываются в соответствии с правилами кодировки UTF-16 как последовательности из двух 16-битных значений. Это означает, что строка, имеющая длину, равную 2 (два 16-битных значения), на деле может представлять единственный символ:

Alert("a".length); // 1 alert("𝑒".length); // 2

Нумерация и доступ к символам строки

Как уже было сказано, строка представляет собой упорядоченную последовательность 16-битных значений, каждому из которых соответствует определённый символ. Нумерация 16-битных значений в строке начинается с нуля, т. е. первое 16-битное значение находится под индексом 0, второе - под индексом 1 и т. д. Индекс - это порядковый номер.

Получить символ строки (состоящий из одного 16-битного значения) можно с помощью индекса, заключённого в квадратные скобки [индекс] :

Let стр = "Привет"; alert(стр); // П alert(стр); // В

Чтобы с помощью индексов обратиться к символу, состоящему из двух 16-битных значений, нужно, используя конкатенацию, написать эти индексы так, чтобы в результате получилась последовательность из двух 16-битных значений:

Let стр = "𝑒"; alert(стр + стр); // "𝑒"

Строки неизменяемые

В JavaScript строки неизменяемые. Это значит, что в уже существующей строке нельзя менять никакие символы или добавлять в неё что-то новое.

Так как строки неизменяемые, то методы, используемые для работы со строками, возвращают новые строки, а не изменяют ту строку, относительно которой они были вызваны:

Let стр = "Привет!"; alert(стр.toUpperCase()); // "HELLO" - новое возвращаемое методом значение alert(стр); // "hello" - первоначальная строка не изменена

Чтобы изменить строку, можно создать новую строку и записать её в ту же самую переменную вместо старой строки:

Let стр = "Строка"; стр = стр.toUpperCase(); alert(стр); // "СТРОКА"

Управляющие последовательности

В строковых литералах можно использовать управляющие последовательности. Управляющая последовательность - это последовательность, состоящая из обычных символов, которая обозначает символ, не представимый внутри строки другими способами. Управляющие последовательности предназначены для форматирования вывода текстового содержимого.

В таблице ниже представлены управляющие последовательности:

Последовательность Значение
\0 Символ NUL - пустой символ ("\u0000").
\t Горизонтальная табуляция ("\u0009").
\n Перевод на новую строку ("\u000A").
\b Возврат на одну позицию - то, что происходит при нажатии на клавишу backspace ("\u0008").
\r Возврат каретки ("\u000D").
\f Перевод страницы - очистка страницы ("\u000C").
\v Вертикальная табуляция ("\u000B").
\" Двойная кавычка ("\u0022").
\" Одинарная кавычка ("\u0027").
\\ Обратный слэш ("\u005C").
\xNN Номер символа из набора символов ISO Latin-1, заданный двумя шестнадцатеричными цифрами (N - шестнадцатеричная цифра 0-F). Например, "\x41" (это код буквы "A").
\uNNNN Номер символа из набора символов Unicode, заданный четырьмя шестнадцатеричными цифрами (N - шестнадцатеричная цифра 0-F). Например, "\u0041" (это код буквы "A"s).

Управляющие последовательности могут находиться в любом месте строки:

Alert("Греческая буква сигма: \u03a3."); // Греческая буква сигма: Σ. alert("Многострочная\nстрока") // Многострочная // строка alert("внутри используются \"двойные\" кавычки"); // внутри используются "двойные" кавычки

Если символ \ предшествует любому символу, отличному от приведённых в таблице, то он просто игнорируется интерпретатором:

Alert("\k"); // "k"

Символы Unicode, указываемые с помощью управляющей последовательности, можно использовать не только внутри строковых литералов, но и в идентификаторах:

Let a\u03a3 = 5; alert(a\u03a3); // 5

Конкатенация

Конкатенация - это объединение двух или более строк в одну большую. Объединение происходит с помощью оператора + (плюс). При конкатенации каждая последующая строка добавляется в конец предыдущей:

Var str1 = "Hello "; var str2 = "World!"; document.write(str1 + str2 + "
"); // "Hello World!" document.write(str1 + "World!"); Попробовать »

Значение любого типа, которое объединяется со строкой, будет неявно (автоматически) преобразовано в строку и далее будет произведена конкатенация.

Var str1 = "Hello "; alert(str1 + 1); // "Hello 1" alert(true + str1); // "trueHello" alert(str1 + NaN); // "Hello NaN"

Приветствую всех, кто основательно решил изучить прототипно-ориентированный язык. В прошлый я рассказал вам про , а сегодня мы будем разбирать строки 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 предусмотрено только три вида преобразования типов объектов:

  1. Числовое;
  2. Строковое;
  3. Логическое.

В текущей публикации я расскажу про 2 из них, так как знание о них нужнее для работы со строками.

Числовое преобразование

Чтобы значение элемента явно преобразовать к числовому виду, можно использовать Number (value) .

Есть и более короткое выражение: +«999» .

var a = Number («999»);

Строковая конвертация

Выполняется функцией alert , а также явным вызовом String (text) .




Close