63. Строки и регулярные выражения.
Для string
существует объект-обёртка. Работа с функцией String()
похожа на работу с функцией Number()
(вызов и как конструктора и как функции, автоматическое «оборачивание»).
У объекта String есть свойство length
(длина строки) и индексатор (введён в ECMAScript 5) для обращения к отдельным символам.
toLowerCase()
– к нижнему региструtoUpperCase()
– к верхнему региструtoLocaleLowerCase()
– к нижнему с учётом локалиtoLocaleUpperCase()
– к верхнему с учётом локалиtoString()
– возвращает примитивную строкуconcat(s,...)
– соединят строки (текущую и аргументы)split([separator] [,limit])
– разбивает строку на части по сепаратору (можно ограничить число частей)substring(start [,end])
– возвращает подстроку, начиная с позиции start до, но не включая, endslice(start [,end])
– аналог substring(), но при отрицательном end позиция считается от конца строкиtrim()
– удаление начальных и концевых пробельных символовcharAt(n)
– возвращает символ в позиции ncharCodeAt(n)
– возвращает код символа в позиции nindexOf(substr [,from])
– поиск подстроки от начала (или от указанной позиции from) к концу строки-
lastIndexOf(substr [,from])
– поиск подстроки от конца (или от указанной позиции from) к началу строки search(regexp)
– позиция первой подстроки, удовлетворяющей заданному регулярному выражениюmatch(regexp)
– возвращает массив подстрок, удовлетворяющих регулярному выражению (или null)replace(regexp, newSubStr)
– поиск и замена подстрок, удовлетворяющих регулярному выражению
String.fromCharCode()
Этот статический метод конструирует и возвращает примитивную строку (не объект String
) по заданным числовым кодам символов:
var s = String.fromCharCode(65, 66, 67); // "ABC"
Регулярные выражения
Объект для работы с регулярным выражением, можно получить, вызвав конструктор RegExp() или использовав литерал регулярного выражения:
// полная форма
var expr = new RegExp("pattern", "flags");
// сокращенная форма
var expr = /pattern/flags;
Возможные флаги:
g
поиск всех совпадений (а не первого);i
игнорирование регистра;m
символы начала и конца (^ и $) начинают работать отдельно для каждой визуальной строки (\n).
Свойства RegEx
- global, ignoreCase, multiline – эти свойства равны true, если установлены соответствующие флаги регулярного выражения;
- source – регулярное выражение в виде строки;
- lastIndex – позиция в строке, соответствующая следующему совпадению с регулярным выражением (это значение первоначально всегда равно нулю).
Методы RegEx
test(str)
– выясняет, есть ли в строке str совпадения для регулярного выражения и возвращает true или falseexec(str)
– возвращает массив подстрок, удовлетворяющих регулярному выражению (или null)
Если регулярное использует флаг g, можно использовать метод exec()
несколько раз для нахождения всех сопоставлений в строке.