Javascript 如何使用indexOf在一系列字符之间进行搜索?(扩展脚本)
我想使用.indexOf在用户提交的文本中的一系列字符之间进行搜索,但我不确定如何进行搜索 比如说:myText=“abcd”,我想搜索,看看“ab”是否只存在于开头,并且最多只存在于第二个字符 如果“ab”出现在前2个字符内,则“do stuff” 如果myText=“abab”,我只希望它识别第一个“ab”,并根据它执行命令 然后,我想在另一个indexOf命令的第3个和第4个字符之间进行搜索。等等 到目前为止,我只能做到以下几点:Javascript 如何使用indexOf在一系列字符之间进行搜索?(扩展脚本),javascript,extendscript,Javascript,Extendscript,我想使用.indexOf在用户提交的文本中的一系列字符之间进行搜索,但我不确定如何进行搜索 比如说:myText=“abcd”,我想搜索,看看“ab”是否只存在于开头,并且最多只存在于第二个字符 如果“ab”出现在前2个字符内,则“do stuff” 如果myText=“abab”,我只希望它识别第一个“ab”,并根据它执行命令 然后,我想在另一个indexOf命令的第3个和第4个字符之间进行搜索。等等 到目前为止,我只能做到以下几点: myText = "abab" if (myText.in
myText = "abab"
if (myText.indexOf("ab") > -1) alert("Found first 'ab'");
有什么想法吗?要测试字符串开头的子字符串,可以测试它是否在索引
0
处:
if (myText.indexOf("ab") === 0) {
// starts with "ab"
}
在此范围内,您可以通过在索引2
处启动该搜索来测试第二个ab
,并期望它也在那里:
// ...
if (myText.indexOf("ab", 2) === 2) {
// followed by "ab"
}
// ...
示例:考虑一下这个示例
"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
这里,第一个参数是要查找的字符
,第二个参数是开始查找该字符
在您的情况下,检查如下:
myText = "abab"
if (myText.indexOf("ab") == 0) alert("Found first 'ab'");
.indexOf
返回字符串在子字符串中的位置,因此您只需将正确的数字与该值进行比较。非常感谢,这正是我要查找的!