Javascript удалить первый символ строки. JavaScript: методы работы со строками. Пример использования replace

Существует несколько способов выбора подстрок в JavaScript, включая substring() , substr() , slice() и функции regexp .

В JavaScript 1.0 и 1.1, substring() существует как единственный простой способ выбора части большей строки. Например, чтобы выбрать строку press из Expression , используйте "Expression".substring(2,7) . Первый параметр для функции - символьный индекс, в котором начинается выбор, в то время как второй параметр - символьный индекс, в котором заканчивается выбор (не включающий): substring(2,7) включает индексы 2, 3, 4, 5, и 6.

Понимание объекта курсора. Получение документов из коллекции. Поиск конкретных наборов документов. Понимание проблемы с записью. Настройка обработки ошибок подключения к базе данных. Получение статуса запросов на запись в базу данных. Понимание операторов обновления базы данных.

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

Работа с базами данных и коллекциями. Понимание производительности и диагностических задач. Строковые методы помогают работать со строками. Оба метода принимают второй параметр в качестве начальной позиции для поиска. Они принимают те же аргументы и возвращают одно и то же значение?

В JavaScript 1.2, функции substr() , slice() и regexp могут также использоваться для разбиения строк.

Substr() ведет себя таким же образом, что и substr языка Перл, где первый параметр обозначает символьный индекс, в котором начинается выбор, в то время как второй параметр указывает длину подстроки. Чтобы выполнить ту же самую задачу, как в предыдущем примере, нужно использовать "Expression".substr(2,5) . Помните, 2 - это точка начала, а 5 - длина возникающей в результате подстроки.

Эти два метода весьма равны. Вы узнаете больше о регулярных выражениях в более поздней главе. Существует три метода для извлечения части строки. Метод принимает 2 параметра: начальный индекс и конечный индекс. Этот пример разрезает часть строки из позиции 7 в позицию 13.

Если параметр отрицательный, позиция отсчитывается от конца строки. Этот пример вырезает часть строки из позиции -12 в положение -6. Если вы опустите второй параметр, метод вырезает остальную часть строки. Разница в том, что второй параметр указывает длину извлеченной части.

При использовании на строках, slice() ведет себя аналогично функции substring() . Это, однако, гораздо более мощное средство, способное функционировать с любым типом массива, и не только со строками. slice() также использует отрицательные смещения для обращения к нужной позиции, начиная с конца строки. "Expression".slice(2,-3) возвратит подстроку, найденную между вторым символом и третьим символом с конца, возвращая опять press.

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

Если первый параметр отрицательный, позиция отсчитывается от конца строки. Второй параметр не может быть отрицательным, поскольку он определяет длину. Они не изменяют исходную строку. Формально сказано: Строки неизменяемы: строки не могут быть изменены, только заменены. Существует два безопасных метода для извлечения строковых символов.

Предположим, вы хотите удалить ведущие или завершающие нули из строковой переменной. Здесь строка обозначает любую строку, содержащую символы, отличные от нуля 0. Эта проблема интересна тем, что она дает возможность рассмотреть работу различных строковых функций.

Последний и наиболее универсальный метод для работы с подстроками - это работа через регулярные функции выражения в JavaScript 1.2. Еще раз, обращая внимание на тот же пример, подстрока "press" получается из строки "Expression" :

Write("Expression".match(/press/));

Встроенный объект String

Объект String — это объектная реализация примитивного строкового значения. Его конструктор имеет вид:

Чтобы сделать проблему общей и как можно более сложной, предположим, что мы не знаем заранее, сколько у нее начальных или конечных нулей и нули могут также возникать в промежуточных положениях. Однако вспомним, что делать, если мы знаем, сколько начальных или конечных нулей происходит, а нули не встречаются на промежуточных позициях. Как мы уже говорили, вы можете использовать эти решения с некоторыми изменениями для удаления других символов.

Это решение также применяется не более чем к одному нольу и ни к кому другому. Это лучше всего работает, если мы точно знаем, сколько символов нужно удалить. Соответственно удаляли только первый и последний символы. Которые для нашей проблемы не причинят вреда и, возможно, не помогут.

New String(значение ?)

Здесь значение , задающее примитивное значение объекта. Если оно не указано, то примитивное значение объекта равно "" .

Свойства объекта String:

constructor Конструктор, который создал объект. Количество символов в строке. prototype Ссылка на прототип класса объектов.

Стандартные методы объекта String

Возвращает символ, находящийся в данной позиции строки. Возвращает код символа, находящегося в данной позиции строки. Возвращает конкатенацию строк. Создает строку из символов, заданных кодами Unicode. Возвращает позицию первого вхождения заданной подстроки. Возвращает позицию последнего вхождения заданной подстроки. Сравнивает две строки с учетом языка операционной системы. Сопоставляет строку с регулярным выражением. Сопоставляет строку с регулярным выражением и заменяет найденную подстроку новой подстрокой. Ищет сопоставление строки с регулярным выражением. Извлекает часть строки и возвращает новую строку. Разбивает строку на массив подстрок. Возвращает подстроку, заданную позицией и длиной. Возвращает подстроку, заданную начальной и конечной позициями. Преобразует все буквы строки в строчные с учетом языка операционной системы. Преобразует все буквы строки в прописные с учетом языка операционной системы. Преобразует все буквы строки в строчные. Преобразует объект в строку. Преобразует все буквы строки в прописные. Возвращает примитивное значение объекта.

Нестандартные методы объекта String

Создает закладку HTML (…). Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Создает гиперссылку HTML (…). Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги ….

Свойство length

Синтаксис : объект .length Атрибуты : { DontEnum, DontDelete, ReadOnly }

Значением свойства length является количество символов в строке. Для пустой строки это значение равно нулю.

Однако нам еще предстоит решить общую проблему, поставленную выше. Мы удаляем первый нуль, когда есть один, и подсчитываем снова. Осторожные души захотят увидеть это шаг за шагом. Регулярные выражения - это древняя и мощная техника поиска паттернов в тексте. Они были протестированы по возрасту и оказались настолько полезными, что практически каждый используемый сегодня компьютерный язык обеспечивает поддержку регулярных выражений.

Регулярные выражения - это большая и сложная тема. Есть несколько книг и веб-сайтов, посвященных этому. Тем не менее, они не должны быть сложными. С небольшим количеством знаний легко создать некоторые очень полезные выражения для сопоставления шаблонов.

Метод anchor

Синтаксис : объект .anchor(имя ) Аргументы : имя — любое строковое выражение Результат : строковое значение

Метод anchor объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для создания в HTML-документе закладки с заданным именем . Например, оператор document.write("Мой текст".anchor("Закладка")) эквивалентен оператору document.write("Мой текст") .

Это регулярное выражение соответствует слову «собака». Выражение не содержит специальных символов. Он чувствителен к регистру и соответствует указанным символам дословно, не более и не что иное. Он соответствует им в порядке и в том случае, когда они написаны. Например, следующее предложение включает два появления «собаки». Регулярное выражение выше найдет только первое.

Общие методы объекта String

Моя собака пахнет хуже вашей собаки. В следующем тексте мы обсудим детали этого и многих других простых вариантов, которые могут быть сделаны, чтобы адаптировать базовое выражение для соответствия практически любым критериям, которые необходимы. Большая сила регулярных выражений состоит в том, что они являются гибкими, т.е. они имеют возможность сопоставлять широкий диапазон строк, от конкретных слов до общих шаблонов.

Метод big

Синтаксис : объект .big() Результат : строковое значение

Метод big возвращает строку, состоящую из объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста крупным шрифтом. Например, оператор document.write("Мой текст".big()) выведет на экран обозревателя строку Мой текст.

Он отобразит окно всплывающего окна, потому что регулярное выражение находит совпадение в тексте. Сохраните этот скрипт в окне консоли. Это полезный фрагмент кода для экспериментов с выражениями. Мы пропустим несколько вариантов этого скрипта, используя различные модификации как регулярного выражения, так и текста. Для первого варианта измените строку на.

Несмотря на то, что оба появления «собаки» изменились, тест все равно вернется. Это потому, что регулярное выражение не заботится о том, что находится впереди или позади шаблона. Он просто ищет три буквы, точно так, как они написаны в выражении. Чтобы найти индивидуальное слово «собака», выражение нужно изменить, чтобы искать границы слов.

Метод blink

Синтаксис : объект .blink() Результат : строковое значение

Метод blink возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста мигающим шрифтом. Указанные теги не входят в стандарт HTML и поддерживаются только обозревателями Netscape и WebTV. Например, оператор document.write("Мой текст".blink()) выведет на экран обозревателя строку Мой текст.

Пример использования replace

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

Метод bold

Синтаксис : объект .bold() Результат : строковое значение

Метод bold возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста полужирным шрифтом. Например, оператор document.write("Мой текст".bold()) выведет на экран обозревателя строку Мой текст .

Получение длины строки

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

Метод charAt

Синтаксис : объект .charAt(позиция ) Аргументы : позиция — любое числовое выражение Результат : строковое значение

Метод charAt возвращает строку, состоящую из символа, расположенного в данной позиции примитивного значения строкового объекта . Позиции символов строки нумеруются от нуля до объект . -1. Если позиция лежит вне этого диапазона, то возвращается пустая строка. Например, оператор document.write("Строка".charAt(0)) выведет на экран обозревателя символ С.

Но, чтобы вернуться в нужное русло, пусть говорят, что матч должен быть абсолютно нечувствительным к регистру. Мы не заботимся о том, какие буквы, если таковые имеются, капитализируются. Есть только несколько атрибутов, и они, как правило, для более продвинутых функций.

Но это легко, это делает регистр событий нечувствительным. В следующем примере мы изменим выражение для соответствия нескольким символам. Символ означает соответствие одному или нескольким вхождениям предыдущей вещи. Попробуйте это предложение. Это выражение выглядит очень загадочно, потому что оно составлено полностью из специальных символов, но оно намного проще, чем оно появляется вначале. Белое пространство - это то, что вы действительно не видите, но влияете на текст, например пробелы, вкладки и новые строки.

Метод charCodeAt

Синтаксис : объект .charCodeAt(позиция ) Аргументы : позиция — любое числовое выражение Результат : числовое значение

Метод charAt возвращает число, равную коду Unicode символа, расположенного в данной позиции примитивного значения строкового объекта . Позиции символов строки нумеруются от нуля до объект . -1. Если позиция лежит вне этого диапазона, то возвращается NaN . Например, оператор document.write("Строка".charCodeAt(0).toString(16)) выведет на экран обозревателя шестнадцатеричный код русской буквы "С": 421 .

Таким образом, этот шаблон не соответствует ни ничто, ни строке пробелов. Регулярное выражение является первым аргументом этой функции. Попробуйте, и вы увидите, что заменяется только первое появление «собаки». Чтобы заменить все вхождения, регулярное выражение нужно будет изменить следующим образом. Это означает глобальность, поэтому шаблон применяется глобально к текстовой строке. Было бы невозможно предоставить полную ссылку для использования регулярных выражений здесь. Они слишком богаты для одной статьи.

В таблице 1 и 2 ниже показан краткий список широко используемых символов совпадения с шаблонами. Таблица 2 - Повторение символов. Специальные символы в таблице 2 и последние три в таблице 1, а также другие специальные символы, такие как квадратные скобки и круглые скобки, не могут использоваться для сопоставления их соответствующих символов в текстовой строке. Поскольку, конечно, они сами являются особыми символами. Вот пример, который соответствует долларовым суммам. Это выражение будет соответствовать знаку доллара, за которым следует одна или две цифры, за которой следует десятичная точка, а затем две цифры.

Метод concat

Синтаксис : объект .concat(строка0 , строка1 , …, строкаN ) Аргументы : строка0 , строка1 , …, строкаN — любые строковые выражения Результат : строковое значение

Метод concat возвращает новую строку, являющуюся конкатенацией исходной строки и аргументов метода. Этот метод эквивалентен операции

Из таблицы 2 вы можете увидеть? символ означает совпадение 0 или 1 предыдущего элемента. В этом выражении это означает совпадение нуля или одной цифры. То, что показано в этой статье, представляет собой самое простое и наиболее распространенное использование регулярного выражения.

Конвертирование в String

Есть целые книги, посвященные теме регулярных выражений, и есть обширная библиотека информации, доступной в Интернете. Просто выполните поиск «Регулярное выражение». Один из лучших сайтов - это один. Он имеет библиотеку регулярных выражений вырезания и вставки для всех видов общих задач, а также инструменты для создания и тестирования регулярных выражений.

объект + строка0 + строка1 + … + строкаN

Например, оператор document.write("Мороз и солнце. ".concat("День чудесный.")) выведет на экран обозревателя строку Мороз и солнце. День чудесный.

Метод fixed

Синтаксис : объект .fixed() Результат : строковое значение

Метод fixed возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста телетайпным шрифтом. Например, оператор document.write("Мой текст".fixed()) выведет на экран обозревателя строку Мой текст.

Он содержит следующие разделы. Строка представляет собой последовательность символов или цифр. Строки относятся к числу наиболее часто используемых типов данных. Кавычки могут быть как одиночными, так и двойными. Символы цитирования допускаются внутри строки, если они не совпадают с охватывающей парой. Все следующие строки действительны.

Три подхода к преобразованию в строку

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

Небольшое различие между значением и строкой

Преобразование примитивов в строку. Результаты, как правило, одинаковы. Если результат примитивен, верните этот результат. . Когда вы начинаете получать объектно-ориентированное развитие, вы можете быть в недоумении, почему у вас есть доступ к значениям иногда, но не в другое время.

Метод fontcolor

Синтаксис : объект .fontcolor(цвет) Аргументы : цвет — строковое выражение Результат : строковое значение

Метод fontcolor возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги цвет >… . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста заданным цветом. Например, оператор document.write("Мой текст".fontcolor("red")) выведет на экран обозревателя строку Мой текст .

При передаче в примитивной переменной типа, как строка или число, значение передается по значению. Это означает, что любые изменения этой переменной в функции полностью отделены от всего, что происходит вне функции. Давайте рассмотрим следующий пример.

Однако прохождение в объекте проходит через ссылку. В этом случае любое свойство этого объекта доступно внутри функции. Давайте посмотрим на другой пример. Итак, что происходит, когда вы проходите метод объекта? Большинство ожидало бы, что оно будет передано по ссылке, позволяя способу доступа к другим частям объекта, кроме него. К сожалению, это не так.

Метод fontsize

Синтаксис : объект .fontsize(размер ) Аргументы : размер — числовое выражение Результат : строковое значение

Метод fontsize возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста шрифтом заданного размера. Например, оператор document.write("Мой текст".fontsize(5)) выведет на экран обозревателя строку Мой текст .

Метод fromCharCode

Синтаксис : String.fromCharCode(код1 , код2 , …, кодN ) Аргументы : код1 , код2 , …, кодN — числовые выражения Результат : строковое значение

Метод fromCharCode создает новую строку (но не строковый объект), которая является конкатенацией символов Unicode с кодами код1 , код2 , …, кодN .

Это статический метод объекта String , поэтому для доступа к нему не нужно специально создавать строковый объект. Пример:

Var s = String.fromCharCode(65, 66, 67); // s равно "ABC"

Метод indexOf

Синтаксис : объект .indexOf(подстрока [,начало ]?) Аргументы : подстрока — любое строковое выражение начало — любое числовое выражение Результат : числовое значение

Метод indexOf возвращает первую позицию подстроки в примитивном значении строкового объекта . объект начало начало начало начало больше, чем объект объект

Поиск ведется слева направо. В остальном этом метод идентичен методу . Следующий пример подсчитывает количество вхождений подстроки pattern в строку str .

Function occur(str, pattern) { var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); return count; }

Метод italics

Синтаксис : объект .italics() Результат : строковое значение

Метод italics возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста курсивным шрифтом. Например, оператор document.write("Мой текст".italics()) выведет на экран обозревателя строку Мой текст .

Метод lastIndexOf

Синтаксис : объект .lastIndexOf(подстрока [,начало ]?) Аргументы : подстрока — любое строковое выражение начало — любое числовое выражение Результат : числовое значение

Метод lastIndexOf возвращает последнюю позицию подстроки в примитивном значении строкового объекта объект . -1. Если задан необязательный аргумент начало , то поиск ведется, начиная с позиции начало ; если нет, то с позиции 0, т. е. с первого символа строки. Если начало отрицательно, то оно принимается равным нулю; если начало больше, чем объект . -1, то оно принимается равным объект . -1. Если объект не содержит данной подстроки, то возвращается значение -1.

Поиск ведется справа налево. В остальном этом метод идентичен методу . Пример:

Var n = "Белый кит".lastIndexOf("кит"); // n равно 6

Метод link

Синтаксис : объект .link(uri ) Аргументы : uri — любое строковое выражение Результат : строковое значение

Метод link возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги uri ">… . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для создания в HTML-документе гиперссылки с заданным uri . Например, оператор document.write("Мой текст".link("#Закладка")) эквивалентен оператору document.write("Мой текст") .

Метод localeCompare

Синтаксис : объект .localeCompare(строка1 ) Аргументы : строка1 — любое строковое выражение Результат : число

Поддержка

Метод localeCompare сравнивает две строки с учетом национальных установок операционной системы. Он возвращает -1, если примитивное значение объекта меньше строки1 , +1, если оно больше строки1 , и 0, если эти значения совпадают.

Метод match

Синтаксис : объект .match(регвыр ) Аргументы : регвыр Результат : массив строк

Метод match регвыр объекта . Результатом сопоставления является массив найденных подстрок или null , если соответствий нет. При этом:

  • Если регвыр не содержит опцию глобального поиска, то выполняется метод регвыр .exec (объект ) и возвращается его результат. Результирующий массив содержит в элементе с индексом 0 найденную подстроку, а в остальных элементах — подстроки, соответствующие подвыражениям регвыр , заключенным в круглые скобки.
  • Если регвыр содержит опцию глобального поиска, то метод регвыр .exec (объект ) выполняется до тех пор, пока находятся соответствия. Если n — количество найденных соответствий, то результатом является массив из n элементов, которые содержат найденные подстроки. Свойству регвыр .lastIndex присваивается номер позиции в исходной строке, указывающий на первый символ после последнего найденного соответствия, или 0, если соответствий не найдено.

Следует помнить, что метод регвыр .exec изменяет свойства объекта регвыр . Примеры:

Метод replace

Синтаксис : объект .replace(регвыр ,строка ) объект .replace(регвыр ,функция ) Аргументы : регвыр — регулярное выражение строка — строковое выражение функция — имя функции или декларация функции Результат : новая строка

Метод replace сопоставляет регулярное выражение регвыр с примитивным значением строкового объекта и заменяет найденные подстроки другими подстроками. Результатом является новая строка, которая является копией исходной строки с проведенными заменами. Способ замены определяется опцией глобального поиска в регвыр и типом второго аргумента.

Если регвыр не содержит опцию глобального поиска, то выполняется поиск первой подстроки, соответствующей регвыр и производится ее замена. Если регвыр содержит опцию глобального поиска, то выполняется поиск всех подстрок, соответствующих регвыр , и производится их замена.

строка , то замена каждой найденной подстроки производится на нее. При этом строка может содержать такие свойства объекта RegExp , как $1 , …, $9 , lastMatch , lastParen , leftContext и rightContext . Например, оператор document.write("Вкусные яблоки, сочные яблоки.".replace(/яблоки/g, "груши")) выведет на экран обозревателя строку Вкусные груши, сочные груши.

Если вторым аргументом является функция , то замена каждой найденной подстроки производится вызовом этой функции. Функция имеет следующие аргументы. Первый аргумент — это найденная подстрока, затем следуют аргументы, соответствующие всем подвыражениям регвыр , заключенным в круглые скобки, предпоследний аргумент — это позиция найденной подстроки в исходной строке, считая с нуля, и последний аргумент— это сама исходная строка. Следующий пример показывает, как с помощью метода replace можно написать функцию преобразования градусов Фаренгейта в градусы Цельсия. Приведенный сценарий

Function myfunc($0,$1) { return (($1-32) * 5 / 9) + "C"; } function f2c(x) { var s = String(x); return s.replace(/(\d+(\.\d*)?)F\b/, myfunc); } document.write(f2c("212F"));

выведет на экран обозревателя строку 100C .

Следует помнить, что этот метод изменяет свойства объекта регвыр .

Пример использования replace

Замена всех вхождений подстроки в строку

Часто случается, что нужно заменить все вхождения одной строки в другую строку:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // в итоге получиться str = "xxxbarxxxbar";

Метод search

Синтаксис : объект .search(регвыр ) Аргументы : регвыр — любое регулярное выражение Результат : числовое выражение

Метод search сопоставляет регулярное выражение регвыр с примитивным значением строкового объекта . Результатом сопоставления является позиция первой найденной подстроки, считая с нуля, или -1, если соответствий нет. При этом опция глобального поиска в регвыр игнорируется, и свойства регвыр не изменяются. Примеры:

Метод slice

Синтаксис : объект .slice(начало [,конец ]?) Аргументы : начало и конец — любые числовые выражения Результат : новая строка

Метод slice объекта , от позиции начало до позиции конец , не включая ее. Если конец начало и до конца исходной строки.

Позиции символов строки нумеруются от нуля до объект . -1. Если значение начало объект . +начало . Если значение конец отрицательно, то оно заменяется на объект . +конец . Иными словами, отрицательные аргументы трактуются как смещения от конца строки.

Результатом является строковое значение, а не строковый объект. Например, оператор document.write("ABCDEF".slice(2,-1)) выведет на экран обозревателя строку CDE .

Метод small

Синтаксис : объект .small() Результат : строковое значение

Метод small возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста мелким шрифтом. Например, оператор document.write("Мой текст".small()) выведет на экран обозревателя строку Мой текст.

Метод split

Синтаксис : объект .split(разделитель [,число ]?) Аргументы : разделитель — строковое или регулярное выражение число — числовое выражение Результат : массив строк (объект Array )

Метод split разбивает примитивное значение объекта на массив подстрок и возвращает его. Разбиение на подстроки производится следующим образом. Исходная строка просматривается слева направо в поисках разделителя . Как только он найден, подстрока от конца предыдущего разделителя (или от начала строки, если это первое вхождение разделителя) до начала найденного добавляется в массив подстрок. Таким образом, сам разделитель в текст подстроки не попадает.

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

Разделитель может быть задан либо строкой, либо регулярным выражением. Существует несколько случаев, требующих особого рассмотрения:

В следующем примере регулярное выражение используется для задания тегов HTML в качестве разделителя. Оператор

выведет на экран обозревателя строку Текст,полужирный, и,курсивный.

Метод strike

Синтаксис : объект .strike() Результат : строковое значение

Метод strike возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста перечеркнутым шрифтом. Например, оператор document.write("Мой текст".strike()) выведет на экран обозревателя строку Мой текст.

Метод sub

Синтаксис : объект .sub() Результат : строковое значение

Метод sub возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста как нижнего индекса. Например, оператор document.write("Мой текст".sub()) выведет на экран обозревателя строку Мой текст.

Метод substr

Синтаксис : объект .substr(позиция [,длина ]?) Аргументы : позиция и длина — числовые выражения Результат : строковое значение

Метод substr возвращает подстроку примитивного значения строкового объекта , начинающуюся с данной позиции и содержащую длина символов. Если длина не задана, то возвращается подстрока, начиная с данной позиции и до конца исходной строки. Если длина отрицательна или равна нулю, то возвращается пустая строка.

Позиции символов строки нумеруются от нуля до объект . -1. Если позиция больше или равна объект ., то возвращается пустая строка. Если позиция отрицательна, то она трактуется как смещение от конца строки, т. е. заменяется на объект .+позиция .

Примечание . Если позиция отрицательна, то Internet Explorer ошибочно заменяет ее на 0, поэтому в целях совместимости этот вариант использовать не следует.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", но в MSIE: "abcdef"

Метод substring

Синтаксис : объект .substring(начало [,конец ]) Аргументы : начало и конец — числовые выражения Результат : строковое значение

Метод substring возвращает подстроку примитивного значения строкового объекта , от позиции начало до позиции конец , не включая ее. Если конец не задан, то возвращается подстрока, начиная с позиции начало и до конца исходной строки.

Позиции символов строки нумеруются от нуля до объект . -1. Отрицательные аргументы или равные NaN заменяются на нуль; если аргумент больше длины исходной строки, то он заменяется на нее. Если начало больше конца , то они меняются местами. Если начало равно концу , то возвращается пустая строка.

Результатом является строковое значение, а не строковый объект. Примеры:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "a"

Метод sup

Синтаксис : объект .sup() Результат : строковое значение

Метод sup возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста как верхнего индекса. Например, оператор document.write("Мой текст".sup()) выведет на экран обозревателя строку Мой текст.

Метод toLocaleLowerCase

Синтаксис : объект .toLocaleLowerCase() Результат : новая строка

Поддержка : Internet Explorer Поддерживается с версии 5.5. Netscape Navigator Не поддерживается.

Метод toLocaleLowerCase возвращает новую строку, в которой все буквы исходной строки заменены на строчные с учетом национальных установок операционной системы. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Обычно этот метод возвращает тот же результат, что и ; отличие возможно только в том случае, если кодировка языка противоречит правилам Unicode по преобразованию прописных букв в строчные.

Метод toLocaleUpperCase

Синтаксис : объект .toLocaleUpperCase() Результат : новая строка

Поддержка : Internet Explorer Поддерживается с версии 5.5. Netscape Navigator Не поддерживается.

Метод toLocaleUpperCase возвращает новую строку, в которой все буквы исходной строки заменены на прописные с учетом национальных установок операционной системы. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Обычно этот метод возвращает тот же результат, что и ; отличие возможно только в том случае, если кодировка языка противоречит правилам Unicode по преобразованию строчных букв в прописные.

Метод toLowerCase

Синтаксис : объект .toLowerCase() Результат : новая строка

Метод toLowerCase возвращает новую строку, в которой все буквы исходной строки заменены на строчные. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Например, оператор document.write("объект String".toLowerCase()) выведет на экран обозревателя строку объект string .

Этот метод не меняет вызывающую строку, а возвращает новую, после замен.

Чтобы произвести глобальный поиск и замену, используйте regexp c флагом "g".

Строка замены

Если вы указываете строку как второй параметр - она может включать в себя следующие специальные сочетания:

$$ Вставляет "$" $& Вставляет совпавшую подстроку $` Вставляет часть строки, которая предшествует совпавшей подстроке $" Вставляет часть строки, которая следует за совпавшей подстрокой $n или $nn, где n/nn - десятичные цифры Вставляет n-ю скобку в совпадении, если первый аргумент - объект RegExp

Функция замены

Если вы указываете функцию в качестве второго параметра, то она вызывается при каждом совпадении.

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

Функция может использовать совпавшие подстроки - она их получает в параметрах вызова. Первый параметр всегда содержит полную совпавшую подстроку.

Если при вызове replace указано регулярное выражение, а не строка, то последующие параметры будут содержать значения скобочных групп.

Наконец, последние два параметра - позиция, на которой произошло совпадения и вызывающая строка.

Следующий пример вернет my XX, zz .

Function replacer(str, p1, p2, offset, s) { return p1 + ", " + p2; } newString = "my XXzz".replace(/(X+)(z+)/, replacer)

Значения параметров при вызове replacer:

Str "XXzz" - совпавшая подстрока p1 "XX" - первая скобка p2 "zz" - вторая скобка offset 3 - позиция в тексте для поиска s "my XXzz" - вызывающая строка, т.е строка для поиска

В следующем примере используется строка замены. Глобального поиска при этом не происходит.

Пример: строка замены

Str = "тест еще тест" str.replace("тест","прошел") // = "прошел еще тест"

Для глобального поиска используйте регулярное выражение.

Пример: Глобальная замена строки

Str = "тест еще тест" str.replace(/тест/g,"прошел") // = "прошел еще прошел" // или так str.replace(new RegExp("тест","g"),"прошел")

Следующий пример использует при замене сочетания $1 и $2 для ссылок на результат поиска.

Var re = /(\w+)\s(\w+)/; var str = "John Smith"; var newstr = str.replace(re, "$2, $1") // "Smith, John"