我有一个这样的字符串:
The planet is very big and the planet is heavy.
使用Javascript,我想搜索从结尾开始并停在另一个字符串的字符串。
例如,从单词heavy
开始,搜索单词planet
,但停留在单词big
。本例中planet
的第二个实例是我想要的,而不是第一个实例。因此,如果planet
和big
之间没有heavy
的实例,那么我想要产生一个indexOf -1。
感谢。
编辑:我可以通过在我想要的单词上分割我的字符串而不是在数组的第二个元素中搜索我的文本来完成此操作,但我想知道是否有一个函数来执行此操作。
答案 0 :(得分:3)
您可以拆分单词“big”,然后只拆分最后一个子串组中的lastIndexOf。
IE:
function foo(input,search,stopWord){
//Split the input
var arr=input.split(stopWord);
//return only from last substring group
return arr[arr.length-1].lastIndexOf(search);
}
foo("The planet is very big and the planet is heavy.","planet","big");
这会给你预期的结果吗?
答案 1 :(得分:0)
运行
var startIdx = string.lastIndexOf('big');
var grabIdx = string.lastIndexOf('planet');
(startIdx < grabIdx)?grabIdx: -1)