Если вы хотите, чтобы проверить, если строка содержит слово, то вы можете использовать .contains("");
метод, предоставленные строками
String word = "COUNTRY";
String sentence = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO FOR YOU COUNTRY";
System.out.println(sentence.contains(word));
//will return true;
Если вы хотите, чтобы найти все слова внутри предложения, то используйте это:
String word = "COUNTRY";
String sentence = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO FOR YOU COUNTRY";
if (sentence.contains(word)) {
String[] sentenceWords = sentence.split(" ");
for (String wordInSentence : sentenceWords) {
if (wordInSentence.equals(word)) {
System.out.println(wordInSentence);
}
}
}
Или, если вы хотите знать точное местоположение конкретного слова, то попробуйте следующее:
String word = "COUNTRY";
String sentence = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO FOR YOU COUNTRY";
if (sentence.contains(word)) {
String[] sentenceWords = sentence.split(" ");
for (int i = 0; i < sentenceWords.length; i++) {
if (sentenceWords[i].equals(word)) {
System.out.println(word + " is located as the: " + i + "th string");
}
}
}
Примечание: Смотрите, что я использую .equals();
на объектах Струнных см this должности для получения дополнительной информации!
EDIT:.
Игнорирование случая вы можете использовать String.equalsIgnoreCase()
вместо String.equals()
Что вы пробовали? СОВЕТ: разделите строку на массив строк, по одной строке для каждого слова. – NickJ
Регулярное и совпадение и групповая находка должны быть частью вашего мышления. – duffymo
regex и matcher и group будут похожи на попытку научить исчисление перед сложениями и вычитанием. – NickJ