【发布时间】:2015-04-26 00:42:57
【问题描述】:
我想在一个字符串中搜索一个单词。
但是,如果搜索的单词在其他单词中,我不想得到结果。 那是
-
我希望它返回数字 7(字母 f 的索引):
findWord("土豆给你", "for") -
但我希望它返回 -1(即未找到)
findWord("给你的土豆", "or")
如果我使用IndexOf,它会在单词“for”中找到子字符串“or”。
有什么简单的方法吗?
char[] terminationCharacters = new char[] { '\n', '\t', ' ', '\r' };
//get array with each word to be taken into consideration
string[] words= s.Split(terminationCharacters, StringSplitOptions.RemoveEmptyEntries);
int indexOfWordInArray = Array.IndexOf(words, wordToFind);
int indexOfWordInS = 0;
for (int i = 0; i <= indexOfWordInArray; i++)
{
indexOfWordInS += words[i].Length;
}
return indexOfWordInS;
但是如果单词之间有多个空格,这显然可能不起作用。
是否有任何预先构建的方法来完成这个看似简单的事情,或者我应该只使用Regex?
【问题讨论】: