Строковые методы JavaScript

Вы можете использовать строковые методы для работы со строками.

Строковые методы и свойства

Значения без свойств или методов, такие как «John Doe», считаются примитивными (поскольку они не являются объектами). Однако примитивные значения могут использовать методы и свойства JavaScript, поскольку JavaScript интерпретирует примитивные значения как объекты при выполнении методов и свойств.

Длина строки

Атрибут length возвращает длину строки.

```javascript
var txt = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’;
var alpha = txt.length;
```

Поиск строки в строке

Метод indexOf() возвращает позицию первого вхождения предоставленного текста строки. JavaScript начинает считать с нуля. В строке 0 — первое место, 1 — второе, 2 — третье.

```javascript
var str = “Please locate where ‘locate’ occurs!”;
var pos = str.indexOf(‘locate’);
```

Метод lastIndexOf() возвращает индекс последнего вхождения заданного текста в строку:

```javascript
var str = “Please locate where ‘locate’ occurs!”;
var pos = str.lastIndexOf(‘locate’);
```

Если текст не может быть получен, и indexOf(), и lastIndexOf() возвращают -1. Оба метода принимают второй параметр в качестве отправной точки поиска:

```javascript
var str = “Please locate where ‘locate’ occurs!”;
var pos = str.indexOf(‘locate’, 15);
```

Метод lastIndexOf() выполняет поиск в обратном направлении (с конца к началу), что означает, что если второй параметр равен 15, поиск начнется с позиции 15 и будет продолжаться до тех пор, пока строка не достигнет начала.

```javascript
var str = “Please locate where ‘locate’ occurs!”;
var pos = str.lastIndexOf(‘locate’, 15);
```

Поиск строки в строке

Метод search() ищет предоставленное значение в строке и возвращает позицию совпадения.

```javascript
var str = “Please locate where ‘locate’ occurs!”;
var pos = str.search(‘locate’);
```

Есть ли разница между indexOf() и search()? Они оба принимают одни и те же аргументы (параметры) и дают одинаковый результат, верно? Эти два подхода не эквивалентны. Это отличия:

Второй аргумент начальной позиции нельзя передать методу search().

Метод indexOf() не может обрабатывать большие значения поиска (регулярные выражения).

Извлечение частей строки

Есть три способа удалить часть строки:

- срез (начало, конец)

- подстрока (начало, конец)

- substr(начало, длина)

Метод slice()

slice() берет часть строки и возвращает ее как новую строку. Метод принимает два параметра: начальную и конечную позиции (конец не включен). В этом примере фрагмент строки с позиции 7 на позицию 12 (13–1) обрезается следующим образом:

```javascript
var str = ‘Apple, Banana, Kiwi’;
var res = str.slice(7, 13);
```

Позиция считается с конца строки, если параметр отрицательный.

Метод подстроки()

substring() похожа на slice(). Разница в том, что substring() не может принимать отрицательные индексы.

```javascript
var str = ‘Apple, Banana, Kiwi’;
var res = str.substring(7, 13);
```

Если вы опустите второй параметр, substring() удалит остальную часть строки.

Метод substr()

slice() можно сравнить с substr(). Второй вариант, с другой стороны, устанавливает длину извлеченной секции.

```javascript
var str = ‘Apple, Banana, Kiwi’;
var res = str.substr(7, 6);
```

Результатом res будет:

Банан

Substr() отрезает оставшуюся часть строки, если второй параметр опущен.

```javascript
var str = ‘Apple, Banana, Kiwi’;
var res = str.substr(7);
```

Результат res будет

Банан, Киви

Если первый параметр отрицательный, позиция считается с конца строки.

```javascript
var str = ‘Apple, Banana, Kiwi’;
var res = str.substr(-4);
```

Результатом res будет:

киви

Метод concat()

concat() объединяет две или более строк:

```javascript
var text1 = ‘Hello’;
var text2 = ‘World’;
var text3 = text1.concat(‘ ‘, text2);
```

Вместо использования оператора «плюс» вы можете использовать функцию concat(). Эти две линии выполняют одну и ту же функцию.

```javascript
var text = ‘Hello’ + ‘ ‘ + ‘World!’;
var text = ‘Hello’.concat(‘ ‘, ‘World!’);
```

Новая строка возвращается всеми строковыми функциями. Они никак не изменяют исходную строку.

Строки неизменяемы в соответствии с формальным определением: строки можно только заменять, но не изменять.

Строка.trim()

Метод trim() удаляет пробелы с обеих сторон строки:

```javascript
var str = ‘ Hello World! ‘;
alert(str.trim());
```

Если вам нужна поддержка IE 8, вместо этого вы можете использовать replace() с регулярным выражением.

```javascript
var str = ‘ Hello World! ‘;
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ‘’));
```

Вы также можете использовать приведенное выше решение для замены, чтобы добавить функцию обрезки в JavaScript String.prototype:

```javascript
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ‘’);
};
}
var str = ‘ Hello World! ‘;
alert(str.trim());
```

Извлечение строковых символов

Существует 3 метода извлечения строковых символов:

- charAt(позиция)

- charCodeAt (позиция)

- Метод charAt()

Метод charAt() возвращает символ по указанному индексу (позиции) в строке:

```javascript
var str = ‘HELLO WORLD’;
str.charAt(0); // returns H
```

Метод charCodeAt()

Юникод символа по определенному индексу в строке возвращается методом charCodeAt(): эта процедура возвращает код UTF-16 (целое число от 0 до 65535).

```javascript
var str = ‘HELLO WORLD’;
str.charCodeAt(0); // returns 72
```

Преобразование строки в массив

Метод split() можно использовать для преобразования строки в массив:

Если разделитель не указан, возвращаемый массив будет содержать всю строку с индексом [0].

Возвращаемый массив будет массивом из одиночных символов, если разделителем является "":

```javascript
var txt = ‘a,b,c,d,e’; // String
txt.split(‘,’); // Split on commas
txt.split(‘ ‘); // Split on spaces
txt.split(‘|’); // Split on pipe.
```

Ресурсы

Вам могут пригодиться следующие ресурсы:

Что такое Nodejs, Express и когда его следует использовать.

Введение в Javascript

Учебник: Javascript для этого ключевого слова

Начало работы с контрастом

Аккордеон

Автозаполнение

"Тревога"

"Коробка"

Значки

"Кнопка"

"Анимация"

Хлебные крошки

Кнопка панели инструментов

Баттон Групп

Флажок

"Карусель"

"Крах"

Выбор даты

"Карта"

"Падать"

"Таблица данных"

"Икона"

Ифрейм

Нижний колонтитул

"Вход"

Группа ввода

Маска

Список групп

"Выбор из нескольких вариантов"

Формы

Панель

"Уведомление"

Модал

"Трещать"

Панель

"Рейтинг"

"Прогресс"

"Радио"

"Выбирать"

Спиннер

Слайдер

Выбрать 2

"Выключатель"

Степпер

"Стол"

Виджеты