以下返回2个索引。
我想在最后一个换行符中查看这两个指数。
var str = document.getElementById("output").value;
var indexFirst = str.indexOf(document.getElementById("prefix").value.toUpperCase());
var indexLast = str.lastIndexOf(document.getElementById("prefix").value.toUpperCase());
alert(indexFirst + " | " + indexLast);
答案 0 :(得分:1)
你可以这样做:Working jsFiddle
var newStr = str.substring(indexFirst, indexLast); // get only the relevant part of the string
var pos = newStr.lastIndexOf("\n"); // find the last new line's index
alert(indexFirst + pos); // add the found index to the initial search index
另一种选择是仅切断字符串的结尾:
var newStr = str.substring(0, indexLast); // chop off the end
var pos = newStr.lastIndexOf("\n", indexStart); // search the last index starting from indexStart
alert(pos); // no need to add indexStart this way
答案 1 :(得分:0)
你可以通过几种方式做到这一点。
<强>子串强>
如果您想沿着您已经开始的路线走下去,那么您可以使用:
str.substring(indexFirst + 1, indexLast);
工作示例
http://codepen.io/anon/pen/JdveyL
正则表达式(重新阅读答案后不必要)
假设|是“在这之间获取文本”
var re = /\|(.*?)\|/;
var str = '|Hello|';
var m;
if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}