Page 269 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 269
g
input . s tartsWith ( " g oin " , 9 ) 1 1 true начать 9-й позиции
g
input . e ndsWith ( "goin " , 1 4 ) 1 1 true считать 1 4 - ю позицию концом строки
g
input . includes ( "goin " ) 1 1 true
g
"
input . includes ( g oin " , 1 0 ) 1 1 false -- начать с 1 0 -й позиции
input . indexOf " g oin " ) 1 1 9
g
(
input . indexOf ( "goin " , 1 0 ) 1 1 -1
g
input . indexOf ( "поре" ) 1 1 -1
Обратите внимание, что все эти методы чувствительны к регистру. Так, вызов
"
t
input . star s Wi th ( a s " ) возвратил бы false. Если вы хотите сделать сравнение не
зависящим от регистра, можете просто преобразовать строку в нижний регистр.
input . toLowerCas ( ) . s tartsWith ( " as " ) // true
e
Обратите внимание, что это не изменяет исходную строку; String . prototype .
s
toLowerCa e возвращает новую строку и не изменяет исходную (не забывайте, что
строки в JavaScгipt неизменны!).
Если мы хотим сделать следующий шаг и, найдя подстроку, заменить ее, то можем
использовать String . prototype . rep a ce.
l
const input = "As I was going to Saint Iv s " ;
e
const output = input . r eplace ( " going" , "walking" ) ;
И снова исходная строка (input) не изменяется в результате выполнения этой
замены; output теперь содержит новую строку, в которой слово " g oing" заменено
на "walking" (если вам действительно нужно изменить значение переменной input,
воспользуйтесь оператором присваивания).
Созда и е реr уля р н ы х выраже н и й
н
Прежде чем перейти к сложности метаязыка регулярных выражений, давайте пого
ворим о том, как они фактически создаются и используются в JavaScript. В этих приме
рах, как и прежде, мы будем искать определенную строку. Хотя это и слишком легкая
задача для регулярных выражений, так проще объяснить, как они используются.
Регулярные выражения в JavaScript представлены классом RegExp. Хотя вы мо
жете создать регулярные выражения, используя конструктор RegExp, они настолько
важны, что для них предусмотрен собственный литеральный синтаксис. Литералы
регулярных выражений заключаются в символы наклонной черты.
const rel / g oing/ ; / / регулярное выражение, способное
1 1 искать слово "going"
"
g
const re2 new RegExp ( g oin " } ; / / эквивалентный конструктор объекта
В использовании конструктора RegExp есть определенный резон, который мы
рассмотрим далее в этой главе, но, кроме этого частного случая, следует предпочесть
более удобный литеральный синтаксис.
272 Глава 1 7. Регулярные выражения

