我正在尝试使用IndexOf来查找字符串段的位置。但字符串可能如下所示:
blahblahEAPPWForms
EAPPWTextblah blah
EAPPWblah
上面的例子可以是任何顺序,但有时我可能只是在寻找“EAPPW”,它可能根本不存在。但如果“EAPPWText”或“EAPPWForms”首先出现,我会得到它的索引。
答案 0 :(得分:1)
你的问题有点令人困惑,因为它没有真正解释你是否只想一直只获得"EAPPW"
字符串,或者你是否想要获得它,如果它存在,如果它不存在你得到任何以"EAPPW"
所以,这是如何获得两者。
假设您正在寻找单词"blah"
而只找"blah"
这个单词
你应该能够使用正则表达式找到它。
这个正则表达式在字符串的开头,中间,末尾搜索"blah"
,如果它是整个字符串。
搜索方法将返回第一次出现的索引。
x = "this is blah";
reg = /^blah$|^blah\s+|\s+blah\s+|\s+blah$/;
var location = x.search(reg);
如果你想获得“blahaaa”如果“blah”不存在,那么你可以检查结果是否为-1然后执行indexOf。
if(location === -1)
{
location = x.indexOf("blah");
}
答案 1 :(得分:0)
如果您正在寻找没有其他文本的实例,那么非常简单:
//Check if it's the whole string
if(str == "EAPPWText")
return 0;
//Check if it's in the start or end
int nIndex = str.IndexOf("EAPPWText" + " ");
if(nIndex >= 0)
return nIndex;
//Check if it's the LAST word
nIndex = str.IndexOf(" " + "EAPPWText" );
return nIndex;