JavaScript: Строки

JavaScriptКомментариев нет

Методы и свойства

Ниже будут перечислены некоторые методы и свойства строк в javascript. Заранее договоримся что у нас объявлена переменная str и для нее или у нее будем вызывать методы/свойства.

str.length — возвращает количество символов в строке.

str.charAt(0) — вернет символ из строки по номеру. Эту функции можно заменить обычными скобками [], выбирая букву как в массиве. Пример:

str.toUpperCase() — возвращает копию строки в которой все буквы заглавные.

str.toLowerCase() — возвращает копию строки в которой все буквы строчные.

str.indexOf(search, pos) — возвращает первую позицию вхождения подстроки search в строку str. Второй параметр pos — не обязателен, он нужен для смещения поиска не сначала строки а с определенного символа(по порядковому номеру начиная с 0). Если если в результате поиска было найдено совпадение то вернется порядковый номер вхождения в строке, в противном случае -1. Пример с учетом -1:

str.substring(start, end) — возвращает подстроку с позиции start до, но не включая end. Если аргумент end отсутствует, то идет до конца строки. Не очень логично работает с отрицательными значениями.

str.substr(start, length) — возвращает подстроку с позиции start, количеством символов указанных в  length. Если аргумент length отсутствует, то идет до конца строки.

str.slice(start, end) — возвращает подстроку с позиции start до, но не включая end. Если аргумент end отсутствует, то идет до конца строки. Работает более логично чем substring(start, end) с отрицательными числами.

 

Нюансы при работе с строками в javascript

При сравнение символов, строчные буквы будут больше заглавных, а некоторые символы вообще сравниваются не логично. Это вызвано тем что все символы в js приводятся к единому «Юникод» виду, в котором символы(буквы) разбросаны не совсем логично. Сравнение строки идет по юникод коду. Пример нелогичных сравнений:

Для правильного сравнения существует целый стандарт ECMA 402. Это не такое простое дело, много языков и много правил. Он поддерживается во всех современных браузерах, кроме IE10-, в которых нужна библиотека https://github.com/andyearnshaw/Intl.js/. Такое сравнение работает через вызов str.localeCompare(str2)

 

Спецсимволы

\b — перемещает позицию печати на один символ назад. На принтерах может использоваться для наложения одного символа на другой, например a BS ^ = â. При вводе с терминала иногда используется для стирания предшествующего символа («забой»).
\f — выбрасывает текущую страницу и начинает печать со следующей. На терминалах этот символ обычно эквивалентен переводу строки (хотя в принципе можно было бы его использовать для очистки экрана).
\n — перемещает позицию печати на одну строку вниз (исходно — без возврата каретки)
\r — перемещает позицию печати в крайнее левое положение
\t — перемещает позицию печати к следующей позиции горизонтальной табуляции.
\uNNNN — Символ в кодировке Юникод с шестнадцатеричным кодом NNNN. Например, \u00A9 — юникодное представление символа копирайт ©

 

Трюки

Поиск всех вхождений

 

Источник: https://learn.javascript.ru/string


Будь первым кто прокомментирует статью.

Добавить комментарий

Войти с помощью: