Изменение строк 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'