Изменение строк JS

В JavaScript строки являются неизменяемыми, это означает, что вы не можете изменить существующую строку. Вместо этого вы всегда создаете новую строку с измененным содержимым.

Существует несколько способов изменения строк в JavaScript. Давайте их разберем.

Способ 1

Срезы позволяют извлечь часть строки и использовать ее отдельно. Вы также можете использовать их для вставки новой подстроки в существующую строку. Срезы делаются с помощью методов slice и substring.

Пример:

let arr = ['a', 'b', 'c', 'd', 'e']; let sub = arr.slice(0, 2); console.log(sub); // ['a', 'b']

Способ 2

Метод replace позволяет заменить вхождения одной подстроки на другую подстроку. Смотрите пример:

let str = 'abcde'; let res = str.replace('a', '!'); console.log(res); // '!bcde'

Данный метод, однако, меняет только первое вхождение строки. Чтобы заменить все вхождения, нужно использовать специальные приемы.

Способ 3

Несмотря на то, что метод replace меняет только первое совпадение, можно заменить все совпадения с помощью цикла:

let elem = 'a'; let str = 'aaa bbb'; while (str.includes(elem)) { str = str.replace(elem, '!'); } console.log(str); // '!!! bbb'

Способ 4

Можно также осуществить все замены с помощью регулярных выражений:

let str = 'aaa bbb'; let res = str.replace(/a/g, '!'); console.log(str); // '!!! bbb'

Способ 5

Поменять символ строки напрямую нельзя, так как строки в JS не изменяемые:

let str = 'aaa bbb'; str[0] = '!'; console.log(str); // не работает

Желаемого эффекта, однако, можно добиться с помощью комбинаций методов split и join:

let str = 'aaa bbb'; let arr = str.split(''); arr[0] = '!'; let res = arr.join(''); console.log(res); // '!aa bbb'