Javascript позиция в строке

Содержание
  1. JavaScript Методы строк
  2. Длина строки
  3. Пример
  4. Поиск строки в строке
  5. Пример
  6. Пример
  7. Пример
  8. Пример
  9. Пример
  10. Поиск строки в строке
  11. Пример
  12. Ты заметил?
  13. Извлечение строчных частей
  14. Метод slice()
  15. Пример
  16. Пример
  17. Пример
  18. Пример
  19. Метод substring()
  20. Пример
  21. Метод substr()
  22. Пример
  23. Пример
  24. Пример
  25. Замена содержимого строки
  26. Пример
  27. Пример
  28. Пример
  29. Пример
  30. Пример
  31. Преобразование в верхний и нижний регистр
  32. Пример
  33. Пример
  34. Метод concat()
  35. Пример
  36. Пример
  37. Метод trim()
  38. Пример
  39. Пример
  40. Пример
  41. Извлечение строковых символов
  42. Метод charAt()
  43. Пример
  44. Метод charCodeAt()
  45. Пример
  46. Доступ к свойствам
  47. Пример
  48. Пример
  49. Преобразование строки в массив
  50. Пример
  51. Пример
  52. Полная ссылка на строку
  53. ВЫБОР ЦВЕТА
  54. Сообщить об ошибке
  55. Ваше предложение:
  56. Спасибо Вам за то, что помогаете!
  57. String.prototype.indexOf()
  58. Try it
  59. Syntax
  60. Parameters
  61. Return value
  62. Return value when using an empty search string
  63. Description
  64. Checking occurrences
  65. Examples
  66. Using indexOf()
  67. indexOf() and case-sensitivity
  68. Using indexOf() to count occurrences of a letter in a string
  69. Specifications
  70. Browser compatibility
  71. See also
  72. Found a content problem with this page?

JavaScript Методы строк

Примитивные значения, такие как «Щипунов Андрей», не могут иметь свойств или методов (потому что они не являются объектами).

Но с помощью JavaScript методы и свойства также доступны для примитивных значений, поскольку JavaScript обрабатывает примитивные значения как объекты при выполнении методов и свойств.

Длина строки

Свойство length возвращает длину строки:

Пример

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

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

Пример

JavaScript считает позиции с нуля.
0 — первая позиция в строке, 1 — вторая, 2 — третья .

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

Пример

var str = «Пожалуйста, найдите, где происходит ‘размещение’!»;
var pos = str.lastIndexOf(«размещение»);

Читайте также:  Time 10 дней php

Оба indexOf() , и lastIndexOf() возвращают -1, если текст не найден.

Пример

var str = «Пожалуйста, найдите, где происходит ‘размещение’!»;
var pos = str.lastIndexOf(«размещение»);

Оба метода принимают второй параметр в качестве начальной позиции для поиска:

Пример

var str = «Пожалуйста, найдите, где происходит ‘размещение’!»;
var pos = str.indexOf(«размещение», 15);

Эти lastIndexOf() методы выполняют поиск в обратном направлении (от конца к началу), что означает: если второй параметр равен 15 , поиск начинается с позиции 15 и выполняется поиск до начала строки.

Пример

var str = «Пожалуйста, найдите, где происходит ‘размещение’!»;
var pos = str.lastIndexOf(«размещение», 15);

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

В search() методе ищет строку для указанного значения и возвращает позицию матча:

Пример

Ты заметил?

Два метода, indexOf() и search() , равны?

Они принимают одни и те же аргументы (параметры) и возвращают одно и то же значение?

Эти два метода НЕ равны. Вот отличия:

  • Метод search() не может принимать второй аргумент позиции начала.
  • Метод indexOf() не может принимать мощные значения поиска (регулярные выражения).

Вы узнаете больше о регулярных выражениях в следующей главе.

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

Есть 3 метода извлечения части строки:

Метод slice()

Метод slice() извлекает часть строки и возвращает извлеченную часть в новой строке.

Метод принимает 2 параметра: начальную позицию и конечную позицию (конец не включен).

В этом примере часть строки вырезается из позиции 7 в позицию 12 (13-1):

Пример

Помните: JavaScript считает позиции с нуля. Первая позиция — 0.

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

В этом примере часть строки вырезается из позиции -12 в позицию -6:

Пример

Если вы опустите второй параметр, метод вырежет остальную часть строки:

Пример

Пример

Отрицательные позиции не работают в Internet Explorer 8 и ранее.

Метод substring()

Метод substring() похоже на slice() .

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

Пример

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

Метод substr()

Метод substr() похоже на slice() .

Разница в том, что второй параметр указывает длину извлеченной части.

Пример

Если вы опустите второй параметр, substr() оставшаяся часть строки будет вырезана.

Пример

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

Пример

Замена содержимого строки

Метод replace() заменяет указанное значение с другим значением в строке:

Пример

Метод replace() не изменяет строку она вызвана. Он возвращает новую строку.

По умолчанию replace() метод заменяет только первое совпадение:

Пример

По умолчанию replace() метод чувствителен к регистру. Записать MICROSOFT (в верхнем регистре) не получится:

Пример

Чтобы заменить нечувствительность к регистру, используйте регулярное выражение с /i флагом (нечувствительность):

Пример

Обратите внимание, что регулярные выражения пишутся без кавычек.

Чтобы заменить все совпадения, используйте регулярное выражение с /g флагом (глобальное совпадение):

Пример

Вы узнаете намного больше о регулярных выражениях в главе Регулярные выражения JavaScript.

Преобразование в верхний и нижний регистр

Строка преобразуется в верхний регистр с помощью toUpperCase() :

Пример

var text1 = «Привет, мир!»; // Строка
var text2 = text1.toUpperCase(); // text2 к text1, преобразованный в верхний

Строка преобразуется в нижний регистр с помощью toLowerCase() :

Пример

var text1 = «Привет, мир!»; // Строка
var text2 = text1.toLowerCase(); // text2 к text1, преобразованный в нижний

Метод concat()

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

Пример

Этот concat() метод можно использовать вместо оператора плюс. Эти две строки делают то же самое:

Пример

Все строковые методы возвращают новую строку. Они не изменяют исходную строку.
Формально сказано: строки неизменяемы: строки нельзя изменить, их можно только заменить.

Метод trim()

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

Пример

Этот trim() метод не поддерживается в Internet Explorer 8 и ниже.

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

Пример

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

Пример

if (!String.prototype.trim) <
String.prototype.trim = function () <
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, »);
>;
>
var str = » Привет, мир! «;
alert(str.trim());

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

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

Метод charAt()

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

Пример

Метод charCodeAt()

Метод charCodeAt() возвращает юникод символа в заданном индексе в строке:

Метод возвращает код UTF-16 (целое число от 0 до 65535).

Пример

str.charCodeAt(0); // возвращается 1055

Доступ к свойствам

ECMAScript 5 (2009) разрешает доступ к свойствам [ ] для строк:

Пример

Доступ к свойствам может быть немного непредсказуемым:

  • Не работает в Internet Explorer 7 или более ранней версии.
  • Это делает строки похожими на массивы (но это не так)
  • Если символ не найден, [] возвращает значение undefined, а charAt () возвращает пустую строку.
  • Он доступен только для чтения. str [0] = «A» не выдает ошибки (но не работает!)

Пример

var str = «ПРИВЕТ МИР»;
str[0] = «A»; // Не дает никакой ошибки, но и не работает
str[0]; // возвращается П

Если вы хотите работать со строкой как с массивом, вы можете преобразовать ее в массив.

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

Строку можно преобразовать в массив с помощью split() split() :

Пример

var txt = «a,b,c,d,e»; // Строка
txt.split(«,»); // Разделение на запятые
txt.split(» «); // Разделение на пробелы
txt.split(«|»); // Разделение на трубы

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

Если разделитель «», возвращаемый массив будет массивом одиночных символов:

Пример

Полная ссылка на строку

Для получения полной справки перейдите к нашей полной справке по строкам JavaScript.

Справочник содержит описания и примеры всех свойств и методов строк.

Мы только что запустили
SchoolsW3 видео

ВЫБОР ЦВЕТА

colorpicker

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:

Ваше предложение:

Спасибо Вам за то, что помогаете!

Ваше сообщение было отправлено в SchoolsW3.

ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат

SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.

Источник

String.prototype.indexOf()

The indexOf() method of String values searches this string and returns the index of the first occurrence of the specified substring. It takes an optional starting position and returns the first occurrence of the specified substring at an index greater than or equal to the specified number.

Try it

Syntax

indexOf(searchString) indexOf(searchString, position) 

Parameters

Substring to search for. All values are coerced to strings, so omitting it or passing undefined causes indexOf() to search for the string «undefined» , which is rarely what you want.

The method returns the index of the first occurrence of the specified substring at a position greater than or equal to position , which defaults to 0 . If position is greater than the length of the calling string, the method doesn’t search the calling string at all. If position is less than zero, the method behaves as it would if position were 0 .

  • ‘hello world hello’.indexOf(‘o’, -5) returns 4 — because it causes the method to behave as if the second argument were 0 , and the first occurrence of o at a position greater or equal to 0 is at position 4 .
  • ‘hello world hello’.indexOf(‘world’, 12) returns -1 — because, while it’s true the substring world occurs at index 6 , that position is not greater than or equal to 12 .
  • ‘hello world hello’.indexOf(‘o’, 99) returns -1 — because 99 is greater than the length of hello world hello , which causes the method to not search the string at all.

Return value

The index of the first occurrence of searchString found, or -1 if not found.

Return value when using an empty search string

Searching for an empty search string produces strange results. With no second argument, or with a second argument whose value is less than the calling string’s length, the return value is the same as the value of the second argument:

"hello world".indexOf(""); // returns 0 "hello world".indexOf("", 0); // returns 0 "hello world".indexOf("", 3); // returns 3 "hello world".indexOf("", 8); // returns 8 

However, with a second argument whose value is greater than or equal to the string’s length, the return value is the string’s length:

"hello world".indexOf("", 11); // returns 11 "hello world".indexOf("", 13); // returns 11 "hello world".indexOf("", 22); // returns 11 

In the former instance, the method behaves as if it found an empty string just after the position specified in the second argument. In the latter instance, the method behaves as if it found an empty string at the end of the calling string.

Description

Strings are zero-indexed: The index of a string’s first character is 0 , and the index of a string’s last character is the length of the string minus 1.

"Blue Whale".indexOf("Blue"); // returns 0 "Blue Whale".indexOf("Blute"); // returns -1 "Blue Whale".indexOf("Whale", 0); // returns 5 "Blue Whale".indexOf("Whale", 5); // returns 5 "Blue Whale".indexOf("Whale", 7); // returns -1 "Blue Whale".indexOf(""); // returns 0 "Blue Whale".indexOf("", 9); // returns 9 "Blue Whale".indexOf("", 10); // returns 10 "Blue Whale".indexOf("", 11); // returns 10 

The indexOf() method is case sensitive. For example, the following expression returns -1 :

"Blue Whale".indexOf("blue"); // returns -1 

Checking occurrences

When checking if a specific substring occurs within a string, the correct way to check is test whether the return value is -1 :

"Blue Whale".indexOf("Blue") !== -1; // true; found 'Blue' in 'Blue Whale' "Blue Whale".indexOf("Bloe") !== -1; // false; no 'Bloe' in 'Blue Whale' 

Examples

Using indexOf()

The following example uses indexOf() to locate substrings in the string «Brave new world» .

const str = "Brave new world"; console.log(str.indexOf("w")); // 8 console.log(str.indexOf("new")); // 6 

indexOf() and case-sensitivity

The following example defines two string variables.

The variables contain the same string, except that the second string contains uppercase letters. The first console.log() method displays 19 . But because the indexOf() method is case sensitive, the string «cheddar» is not found in myCapString , so the second console.log() method displays -1 .

const myString = "brie, pepper jack, cheddar"; const myCapString = "Brie, Pepper Jack, Cheddar"; console.log(myString.indexOf("cheddar")); // 19 console.log(myCapString.indexOf("cheddar")); // -1 

Using indexOf() to count occurrences of a letter in a string

The following example sets count to the number of occurrences of the letter e in the string str :

const str = "To be, or not to be, that is the question."; let count = 0; let position = str.indexOf("e"); while (position !== -1)  count++; position = str.indexOf("e", position + 1); > console.log(count); // 4 

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on Apr 28, 2023 by MDN contributors.

Your blueprint for a better internet.

Источник

Оцените статью