В яваскрипте есть две функции, которые обрезают строку: substring(int start, int stop) и substr(int start, int length) . В качестве примера будет взята строка: «Привет веселый мир!»
Таблица индексов и номеров
Строка в яваскрипте является массивом, так что фактический номер символа, отличается от индекса массива на единицу. Чтобы стало понятно ниже приведена таблица символов и индексов строки.
номер | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
П | р | и | в | е | т | в | е | с | е | л | ы | й | м | и | р | ! | |||
индекс | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
substr()
Синтаксис substr(int start, int length) .
int start — обязательное значение, индекс начала обрезания строки (можно передать отрицательное значение).
int length — необязательное поле, количество символов, которые будут обрезаны от начала параметра start . Если этот параметр опущен, то строка будет обрезана до конца от начала start .
Пример
substring()
Синтаксис substring(int start, int stop) .
int start — обязательное значение, индекс начала обрезания строки.
int stop — необязательное поле, номер символа, на котором закончится обрезка строки. Если этот параметр опущен, то строка будет обрезана до конца от начала start .
Пример
На заметку
Если в функцию substring() передать отрицательные значения (в любой из параметров), он будет восприниматься как ноль.
Если в функции substring() stop > start , то параметры поменяются местами.
Например, есть такая строка 520 + 1003 . Нам требуется, чтобы обрезалось 520 , + , 1003 .
В этом нам поможет метод split .
Для нашего примера можно воспользоваться следующей конструкцией:
javascript
метод javascript split
- separator регулярное выражение или строка, по которой делить str
- limit максимальное количество кусков, на которые может быть разбита строка
Метод split возвращает новый массив.
Строка бьется по separator, при разбивании separator пропадает:
Добрый день, подскажите, пожалуйста, как в javascript обрезать строку до определенного символа. Т.е., например, есть такая строка 50ml+$100 . И мне нужно, чтобы обрезалось $100 и наоборот. Заранее благодарю.
4 ответа 4
Если не знаете номер символа то можно воспользовать функцией search. Т.е. например: