我有一个字符串,内容为
你有任何其他的想法或建议吗?
this is test for alternative
。我想要找到for
的位置。我知道可以使用alert(myString.indexOf("for"))
来实现,但我不想使用indexOf
。你有任何其他的想法或建议吗?
this is test for alternative
。我想要找到for
的位置。我知道可以使用alert(myString.indexOf("for"))
来实现,但我不想使用indexOf
。.search()?
"this is test for alternative".search("for")
>> 13
search
дёҚжҳҜ indexOf
зҡ„зӣҙжҺҘжӣҝд»Је“ҒгҖӮдҫӢеҰӮпјҢ "10 * 5 = 50".indexOf("*")
жҳҜ 3
пјҢдҪҶжҳҜ "10 * 5 = 50".search("*")
дјҡжҠӣеҮәдёҖдёӘй”ҷиҜҜгҖӮиҖҢ "Hi, my name is Joe.".indexOf(".")
жҳҜ 18
пјҢдҪҶжҳҜ "Hi, my name is Joe.".search(".")
жҳҜ 0
гҖӮ - T.J. Crowdersearch
函数需要一个正则表达式参数。在你的例子中,"Hi, my name is Joe.".search("\\.")
返回了预期的值 18
。需要澄清的是,search
函数需要一个正则表达式作为参数,而不是直接输入字符串(但也可以)。所以,上述代码通常应该写成 "Hi, my name is Joe.".search(/\./)
。 - Akiva你可以编写自己的indexOf函数吗?你可以在源字符串上循环,并检查每个字符是否是你要搜索的单词。
以下是一个未经测试的版本,以便让你有一个想法:
function myIndexOf(myString, word) {
var len = myString.length;
var wordLen = word.length;
for(var i = 0; i < len; i++) {
var j = 0;
for(j = 0; j < wordLen; j++) {
if(myString[i+j] != word[j]) {
break;
}
}
if(j == wordLen) {
return i;
}
}
return -1;
}
indexOf
? 没有这方面的信息,这个问题就相当奇怪。 - T.J. Crowder