Строки
Если вы обрабатываете или выводите текст, вам просто необходима работа со строками.
Строки являются объектами, таким образом, чтобы разобраться в работе со строками придётся ознакомиться с разделом объекты.
Кроме того, потребуется общее представление о массивах, т.к. метод slice
возвращает массив.
Как выглядят строки
Чтобы создать строку в javascript, используют одну из следующих записей:
'Строка в одиночных кавычках'
"Строка в двойных кавычках"
Если внутри строки нужно указать символ, которыми строка ограничена, этот символ экранируют символом \
(бэкслэш, обратный слэш):
'Об\'яснительная'
Операции над строками
Две строки можно сложить между собой, получив третью строку. (Просто изменить строку не получится, результатом всегда будет строка, отличающаяся от двух исходных!)
Например:
'Операции ' + 'над ' + 'строками'
этот пример возвратит строку 'Операции над строками'
.
Что характерно, прибавлять к строке можно не только строки, но и любой объект, имеющий метод toString
. Таким образом, к строке можно добавить и число.
Свойства строк
У строки есть свойство length
, возвращающее длину строки в символах.
Методы строк
Метод indexOf
. Позволяет искать фрагмент строки, возвращает позицию, в которой встречается подстрока или -1
, если подстрока не встречается.
'arrrrgh!'.indexOf('r'); // => 1
'arrrrgh!'.indexOf('z'); // => -1
'arrrrgh!'.indexOf('r', 5); // => -1
Метод replace
. Используется, если нужно заменить подстроку на другую подстроку.
'bue'.replace('u', 'y'); // => 'bye'
'herro'.replace(/r/g, 'l'); // => 'hello'
Методы substr
и substring
. Используются для получения части строки из текущей строки. Первым параметром в обоих функциях является позиция, начиная с которой будет браться подстрока. Вторым параметром substr
передается длина фрагмента. Вторым параметром substring
передаётся позиция первого символа в строке, который не попадёт в фрагмент. В обоих случаях, если второй параметр не передан, фрагмент начинается с указанной позиции и заканчивается вместе с исходной строкой.
'hello'.substr(2, 2); // => 'll'
'hello'.substring(2, 4); // => 'll'
'hello'.substr(2); // => 'llo'
'hello'.substring(2); // => 'llo', никакой разницы
Немного о регулярных выражениях
В описании метода replace
встречается упоминание о регулярных выражениях (/r/g
). Регулярные выражения — такие объекты, которые применяются для поиска и замены подстрок на другие подстроки. Эти строки, как в нашем случае, могут быть постоянными (одна единственная буква r
), а могут представлять собой сложный шаблон (например, семизначный телефонный номер: \d{3}[- ]\d\d[- ]\d\d
. Это регулярное выражение описывает номер, в котором должны присутствовать группа из трёх цифр, затем пробел или минус, две цифры, снова пробел или минус и, в конце, ещё две цифры). Полное и подробное описание регулярных выражений может занять целую книгу
Задания
- Перво-наперво, сложим две строки:
'Hello '
и'javascript'
. Для сложения воспользуемся операцией соединения строк:+
. - Получите индекс буквы
j
в фразеquick brown fox jumped over lazy dog
, используя метод строкиindexOf
. - Получите из строки
'Goodbye javascript'
строку'Hello javascript'
, используя методreplace
. - Ещё одно упражнение на метод
replace
: замените все вхождения буквыi
в строке'mississippi'
на символ!
(восклицательный знак).
Ссылки
- Проверка и отладка регулярных выражений — позволяет проверить регулярное выражение для php, javascript и python, не забываем выбрать язык программирования перед проверкой
- Джеффри Фридл «Регулярные выражения»