2013-09-16 1 views
1

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

IE в псевдокоде:

str = "Hello this is a string, this is how I would like to search this string." 

str.indexOf(lookFor = "this", startPosition = indexOf(how), lookUp = true) 

В этом случае функция должна возвращать «это», то есть как раз перед «как». Это не тот, который находится в начале строки, или это не тот, который после «как».

ответ

2

Для поиска до того "how", ломтик:

str.slice(0, str.indexOf("how")).indexOf("this") 

Если вы хотите, чтобы получить последнее вхождение строки, прежде чем "как", объединить его с lastIndexOf:

str.slice(0, str.indexOf("how")).lastIndexOf("this") 
+0

Это неправильный ответ. http://jsfiddle.net/kDEyT/ – UFL1138

+0

@ UFL1138 Вы правы, я закончил (и отредактировал и сделал +1 к вашему ответу, хотя это была только половина ответа и только ссылка). –

1

Использование lastIndexOf(string[,int]).

+0

Мне было бы интересно узнать, почему это было приостановлено, поскольку это правильный ответ. – UFL1138

+0

он хочет, чтобы первый индекс после раскола по некоторому «строковому» значению ... ваше решение даст последний индекс ... Проверьте принятый ответ ... что правильно – AurA

+0

В соответствии с вопросом он ищет такую ​​функцию, как iindexOf но ищет другое направление. Это lastIndexOf. – UFL1138

Смежные вопросы