Java 如何检查一个单词是否存在于两个或多个单词之间?
我想在java中检查“abc”和“lmp”之间是否存在像“fga”这样的单词。 在这个例子中,我的单词范围从“fga”“fgb”“fbc”。。。“lmo”“lmp”。我不能使用contain或substring,因为我必须在它们之间找到它们,比如第一个单词是“fga”,第二个单词是“xyz”,现在一个单词“lac”位于它们之间,所以我必须通过编程检查它是否位于它们之间 第一个词是“abc”,第二个词是“fgh”,现在如果我的搜索词是“dee”,则返回true。从第一个单词到第二个单词(“abc”“abd”“abe”“abz”“aca”“acb”“fgg”“fgh”),如果我的单词存在,那么它将返回true。我没有一个包含所有这些单词的字符串。我只有两个词和一个搜索词 现在我想检查我的搜索词是否存在于这些范围内 我试过使用loop,但这是一个漫长的过程Java 如何检查一个单词是否存在于两个或多个单词之间?,java,android,search,Java,Android,Search,我想在java中检查“abc”和“lmp”之间是否存在像“fga”这样的单词。 在这个例子中,我的单词范围从“fga”“fgb”“fbc”。。。“lmo”“lmp”。我不能使用contain或substring,因为我必须在它们之间找到它们,比如第一个单词是“fga”,第二个单词是“xyz”,现在一个单词“lac”位于它们之间,所以我必须通过编程检查它是否位于它们之间 第一个词是“abc”,第二个词是“fgh”,现在如果我的搜索词是“dee”,则返回true。从第一个单词到第二个单词(“abc”
{
char firstLetter = firstWord[0];
char secondLetter = firstWord[1];
char thirdLetter = firstWord[2];
char i = 'a', j = 'a', k = 'a';
do
{
for (i = firstLetter; i <= 'z'; i++)
{
for (j = secondLetter; j <= 'z'; j++)
{
for (k = thirdLetter; k <= 'z'; k++)
{
if (k == secondWord[2])
{
break;
}
if (!foundOnPage && text.equalsIgnoreCase("" + i + "" + j + "" + k))
{
foundOnPage = true;
pageNo = WordPageNo;
break;
}
}
thirdLetter = 'a';
if (j == secondWord[1])
break;
if (foundOnPage)
break;
}
secondLetter = 'a';
if (i == secondWord[0] || foundOnPage)
break;
}
firstLetter = 'a';
if (foundOnPage)
break;
}
while ((String.valueOf(i) + String.valueOf(j) + String.valueOf(k)).equalsIgnoreCase(secondWord.toString()) || !foundOnPage);
}
{
char firstLetter=firstWord[0];
char secondLetter=第一个字[1];
char thirdLetter=第一个字[2];
字符i='a',j='a',k='a';
做
{
对于(i=firstLetter;i有很多方法可以做到这一点:
String sourceString = "fga fgb fbc... lmo lmp";
String beginWord = "abc";
String endWord = "lmp";
String keyWord = "fga";
int ixBegin = sourceString.indexOf(beginWord);
int ixEnd = sourceString.indexOf(endWord);
int ixKey = sourceString.indexOf(keyWord);
if (ixKey > ixBegin && ixKey < ixEnd) {
// do your magic here
}
但是它没有用。这是一个简单的Java解决方案:
String input = "fga fgb fgc"; //Your long string
if(input.contains("fga"))
{
//When true do that
} else
{
//Else do that
}
到目前为止,你已经尝试了…?给我们看一些你的代码!提示:查找String.contains()
和String.subString()
。这就是你解决谜题所需要的。只需编辑我的答案。我不需要子字符串或索引。我想检查像“cng”这样的单词是否在“abc”和“agf”之间.按character@user3332319为什么要逐个字符进行搜索?您需要更好地解释您的要求。(添加字符串输入和结果的示例)。例如,第一个单词是“abc”,第二个是“fgh”,现在如果我的搜索单词是“dee”,则返回true。从第一个单词到第二个单词(“abc”“abd”“abe”。“abz”“aca”“acb”…“fgg”“fgh”)如果我的单词存在,那么它将返回true。我没有包含所有这些单词的字符串。我只有2个单词和一个搜索词请参阅更新的答案,但这似乎是一项教育任务,您应该自己解决它。
String input = "fga fgb fgc"; //Your long string
if(input.contains("fga"))
{
//When true do that
} else
{
//Else do that
}