JavaScript

Работа с кодом в JS: замена символа в строке, поиск символа и другое

Lorem ipsum dolor

Сегодня поговорим о строках в языке программирования JavaScript. А именно рассмотрим, как в JS заменить символ в строке или как происходит замена подстроки в строке и др.

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

Одинарные и двойные кавычки появились в JavaScript давно, поэтому работают очень традиционно, например, они должны располагаться в одной строке кода и не могут переноситься на несколько строк. Обратные кавычки в этом плане очень гибкие: используя их, можно строковый тип данных разместить сразу в нескольких строках кода, и это не будет считаться ошибкой. А в двойных и одинарных кавычках для этого нужно применять специальный символ «\n».

 

Строки JS: заменить символ, замена подстроки, поиск символа, доступ к символам

Строки кажутся довольно простыми типами данных, но при этом над ними можно совершать множество действий при помощи JavaScript.

 

Длина строки

Длина строки в JS определяется свойством «length», например:

alert (`Строка\n`.length);

 

Результат будет 7 символов. Почему 7,спросите вы, ведь в слове «строка» всего 6 символов. 7, потому что специальный символ «\n» тоже считается.

Нужно обратить внимание, что «str.length» это свойство, а не функция, поэтому нет необходимости добавлять к нему круглые скобки «()», с ними это свойство работать не будет.

 

Доступ к символам строки JS

Определить, какой символ занимает конкретную позицию в строке, можно двумя способами: применив квадратные скобки [pos] или метод str.charAt(pos). Например:

let str = `Привет`;

//давайте получим второй символ

alert (str[1]); //результат будет «р»

alert (str.chartAt(1)); //результат будет «р»

 

Нужно помнить, что в строке всегда первый символ соответствует нулевой позиции! Если хотите использовать современный способ определения символа в строке, то лучше использовать квадратные скобки, метод «charAt» уже считается устаревшим.

 

Неизменяемость строк

Строки в JavaScript создаются раз и навсегда. Нет никакой возможности взять какой-либо символ из строки и поменять его на другой. Что бы вы ни делали, результатом будет ошибка. Но выход из ситуации есть, если это все-таки нужно как-то сделать. Необходимо создать новую строчку с измененным символом и присвоить ее той же самой переменной, заменив всю старую строку на новую.

Например:

let str = 'привет';

          str = 'П' + str[1]; // меняем строчку на новую

         alert( str ); // результатом будет «Привет» с большой буквы

 

Меняем регистр

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

  • toLowerCase() для смены символов в нижний регистр;

  • toUpperCase(0 — для смены символов в верхний регистр.

Например:

alert( 'Привет'.toUpperCase() ); // результат будет «ПРИВЕТ»

alert( 'Привет'.toLowerCase() ); // результат будет «привет»

alert( 'Привет'[5].toUpperCase() ); // результат будет «ПривеТ», такой подход применяется, когда нужно сменить регистр конкретного символа.

 

JavaScript-поиск подстроки в строке

Для осуществления поиска подстроки в строке при помощи JavaScript существует множество различных способов. Рассмотрим несколько самых распространенных:

  1. str.indexOf(substr, pos). Данный метод будет искать подстроку «substr» в строчке «str», причем начнет поиск с указанной позиции «pos». Такой поиск чувствителен к регистру. Этот метод будет искать с начала строки и до первого вхождения в строке. Если вам нужно найти все вхождения, тогда этот метод нужно поместить в цикл.

  2. str.lastIndexOf(substr, position). Этот метод полностью похож на первый, но только поиск начинает с конца строки. Его удобно применять, например, когда нужно найти последнее вхождение в строке.

  3. str.includes(substr, pos). Этот метод в качестве своего значения вернет «true», если в строке будет искомая подстрока, и «false», если подстроки не будет.

 

Как получить подстроку

У JavaScript есть 3 способа, чтобы получить подстроку из строки:

  1. str.slice(start [, end]). Данный метод вернет часть строки, заключенную между «start» и «end», при этом «end» в подстроку не включается.

  2. str.substring(start [, end]). Этот метод работает так же, как и первый, с той лишь разницей, что он не поддерживает отрицательные значения подстроки.

  3. str.substr(start [, length]). Этот метод вернет подстроку от «start», длиною, указанной в «length». Этим он и отличается от первых двух методов ему не нужно указывать конец подстроки, а только начало и ее длину.

 

Заключение

Сегодня мы рассмотрели простые операции над строками. Теперь вы знаете, что в JS просто заменить символ в строке на необходимый не получится. Замена символа в строке JS делается путем создания новой строчки и присвоения ее старой переменной, заменяя полностью всю строку. А с поиском символов или подстрок в строке JS проблем не должно возникнуть.

Схожие статьи

Учебный курс по React, часть 2: функциональные компоненты
JavaScript

Учебный курс по React, часть 2: функциональные компоненты

Учебный курс по React, часть 5: начало работы над TODO-приложением, основы стилизации
JavaScript

Учебный курс по React, часть 5: начало работы над TODO-приложением, основы стилизации

Все про уязвимости JavaScript: как их обнаружить и устранить
JavaScript

Все про уязвимости JavaScript: как их обнаружить и устранить

Что такое Var и Let, их функции и какая разница между ними
JavaScript

Что такое Var и Let, их функции и какая разница между ними

×