строковые методы помогут вам для работы со строками.
Методы и свойства струнных
Примитивные значения, как "John Doe" , не может иметь свойства или методы (поскольку они не являются объектами).
Но с JavaScript, методы и свойства также доступны для примитивных значений, так как JavaScript рассматривает примитивные значения как объекты при выполнении методов и свойств.
Длина строки
length свойство возвращает длину строки:
Поиск строки в строке
indexOf() метод возвращает индекс (положение) первого вхождения указанного текста в строке:
пример
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate");
Попробуй сам " lastIndexOf() метод возвращает индекс последнего вхождения указанного текста в строке:
пример
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate");
Попробуй сам " И indexOf() , и lastIndexOf() методы возвращают -1 , если текст не найден.
JavaScript рассчитывает позиции от нуля.
0 является первая позиция в строке, 1 является вторым, 2 является третьим ...
Оба метода принимают второй параметр в качестве стартовой позиции для поиска.
Поиск строки в строку
search() метод ищет строку для заданного значения и возвращает позицию матча:
пример
var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");
Попробуй сам " Ты заметил?
Два метода, indexOf() и search() , равны между собой .
Они принимают одни и те же аргументы (параметры), и они возвращают то же значение.
Эти два метода одинаковы, но search() метод может занять гораздо более мощные значения поиска.
Вы узнаете больше о мощных значений поиска в разделе о регулярных выражениях.
Извлечение части строк
Есть 3 способа извлечения части строки:
- slice(start, end)
- substring(start, end)
- substr(start, length)
slice() Метод
slice() извлекает часть строки и возвращает Извлеченный часть в новой строке.
Метод принимает 2 параметра: начальный индекс (позиция), а индекс окончания (положение).
Этот пример нарезает из части строки из положения 7 в положение 13:
пример
var str = "Apple, Banana, Kiwi";
var res = str.slice(7,13);
Результат Рез будет:
Banana
Попробуй сам " Если параметр является отрицательным, то позиция отсчитывается с конца строки.
Этот пример нарезает из части строки от позиции -12 до -6 позицию:
пример
var str = "Apple, Banana, Kiwi";
var res = str.slice(-12,-6);
Результат Рез будет:
Banana
Попробуй сам " Если опустить второй параметр, то метод нарежьте остальную часть строки:
или, считая с конца:
Отрицательные позиции не работают в Internet Explorer 8 и более ранних версий.
substring() Метод
substring() похож на slice() .
Разница заключается в том, что substring() не может принимать отрицательные индексы.
пример
var str = "Apple, Banana, Kiwi";
var res = str.substring(7,13);
Результат res будет:
Banana
Попробуй сам " Если опустить второй параметр, substring() будет порезать остальную часть строки.
substr() Метод
substr() похож на slice() .
Разница заключается в том, что второй параметр определяет length извлеченной части.
пример
var str = "Apple, Banana, Kiwi";
var res = str.substr(7,6);
Результат Рез будет:
Banana
Попробуй сам " Если первый параметр является отрицательным, то позиция ведет отсчет от конца строки.
Второй параметр не может быть отрицательным, так как оно определяет длину.
Если опустить второй параметр, substr() будет порезать остальную часть строки.
Замена Строка Содержимое
replace() метод заменяет заданное значение с другим значением в строке:
replace() метод может также принимать регулярное выражение в качестве значения поиска.
По умолчанию, replace() функция заменяет только первое совпадение. Чтобы заменить все матчи, использовать регулярное выражение с флагом AG (для глобального матча):
replace() метод не изменяет строку она вызывается. Она возвращает новую строку.
Преобразование в верхний и нижний регистр
Строка преобразуется в верхний регистр с toUpperCase() :
пример
var text1 = "Hello World!"; // String
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
Попробуй сам " Строка преобразуется в нижний регистр с toLowerCase() :
пример
var text1 = "Hello World!"; // String
var text2 = text1.toLowerCase(); // text2 is text1
converted to lower
Попробуй сам " concat() Метод
concat() соединяет две или более строк:
concat() метод может быть использован вместо оператора плюс. Эти две линии делают то же самое:
пример
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");
Все методы струнные возвращают новую строку. Они не изменяют исходную строку.
Формально сказал: Строки неизменны: Строки не могут быть изменены, только заменить.
Извлечение символов строки
Есть 2 безопасные методы для извлечения строк символов:
- charAt(position)
- charCodeAt(position)
charAt() Метод
charAt() метод возвращает символ по указанному индексу (позиции) в строке:
charCodeAt() Метод
charCodeAt() метод возвращает юникодом персонажа по указанному индексу в строке:
Доступ в строку как массив является небезопасным
Возможно, вы видели код, подобный этому, доступ строку как массив:
var str = "HELLO WORLD";
str[0]; // returns H
Это небезопасно и непредсказуемо:
- Он не работает во всех браузерах (не в IE5, IE6, IE7)
- Это делает строки выглядят как массивы (но они не являются)
- str[0] = "H" не дает ошибку (но не работает)
Если вы хотите прочитать строку как массив, преобразовать его в массив в первую очередь.
Преобразование строки в массив
Строка может быть преобразована в массив с split() метод:
пример
var txt = "a,b,c,d,e"; // String
txt.split(","); // Split on commas
txt.split(" "); // Split on spaces
txt.split("|"); // Split on pipe
Попробуй сам " Если разделитель не задан, возвращаемый массив будет содержать всю строку в индексе [0].
Если разделитель "", возвращаемый массив будет массив из отдельных символов:
Полная строка ссылка
Для получения полной справки, перейдите на наш Complete Reference JavaScript Строка .
Ссылка содержит описание и примеры всех свойств и методов струнных.
Проверьте себя с упражнениями!
Упражнение 1 » Упражнение 2» Упражнение 3 » Упражнение 4» Упражнение 5 » Упражнение 6»