Подстрока javascript

самая страшная вещь! следующий код выводит "llo" вместо ожидаемого "wo". я получаю такие неожиданные результаты для нескольких других чисел. что мне здесь не хватает?

alert('helloworld'.substring(5, 2));

Ответ 1

Вы вводите в заблуждение substring() и substr(): substring() ожидает два индекса, а не смещение и длина. В вашем случае индексы равны 5 и 2, то есть символы 2..4 будут возвращены по мере исключения более высокого индекса.

Ответ 2

У вас есть три варианта в Javascript:

//slice
//syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); // extracts 'news'

//substring 
//syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9); // extracts 'news'

//substr
//syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4); // extracts 'news'

Ответ 3

Проверьте substring синтаксис:

подстрока (от, до)

от. Индекс, где начните извлечение. Первый символ имеет индекс 0

до Дополнительно. Индекс , где остановить извлечение. Если опущен, он извлекает остальную часть строка

Я дам вам немного странно. Сам не знал этого.

Что вы хотите сделать, это

alert('helloworld'.substring(5, 7));

Ответ 4

alert('helloworld'.substring(5, 2));

Недопустимый код, потому что первое значение является начальной точкой конечной точки. Ег перемещается из char 5, который равен o, и переходите к char 2, который является l, и получим llo Итак, вы сказали ему вернуться назад.

Что вам нужно -

alert('helloworld'.substring(5, 7));

Ответ 6

Это то, что я сделал,

var stringValue = 'Welcome to India';

// if you want take get 'India' 
// stringValue.substring(startIndex, EndIndex)
   stringValue.substring(11, 16); // O/p 'India'