我想使用.indexOf在用户提交的文本中搜索一系列字符,但我不确定如何处理它。
让我们说:myText =“abcd”,我想搜索一下“ab”是否仅在开始时存在,而且仅限于第二个字符。
如果前两个字符中出现“ab”,那么“do stuff”
如果myText =“abab”我只希望它识别第一个“ab”并执行基于此的命令。
然后我想在另一个indexOf命令中搜索第3个和第4个字符。等
到目前为止,我只能做以下事情:
myText = "abab"
if (myText.indexOf("ab") > -1) alert("Found first 'ab'");
有什么想法吗?
答案 0 :(得分:1)
要测试字符串开头的子字符串,可以测试它是否完全位于索引0
:
if (myText.indexOf("ab") === 0) {
// starts with "ab"
}
在此范围内,您可以通过在索引ab
处开始搜索来测试第二个2
,并期望它也在那里:
// ...
if (myText.indexOf("ab", 2) === 2) {
// followed by "ab"
}
// ...
答案 1 :(得分:0)
考虑这个例子
"Blue Whale".indexOf("Blue"); // returns 0
"Blue Whale".indexOf("Blute"); // returns -1
"Blue Whale".indexOf("Whale", 0); // returns 5
"Blue Whale".indexOf("Whale", 5); // returns 5
"Blue Whale".indexOf("", 9); // returns 9
"Blue Whale".indexOf("", 10); // returns 10
"Blue Whale".indexOf("", 11); // returns 10
"Blue Whale".indexOf("ue", 0); // returns 2
这里第一个参数是character
你要找到索引,第二个是起始索引来找到character
在您的情况下,请检查:
myText = "abab"
if (myText.indexOf("ab") == 0) alert("Found first 'ab'");