Я делаю это с почти прошлых нескольких дней, но все еще не могу получить требуемый результат. Ну, у меня есть массив wordlist[]={"One","Two","Three","Four","Five"};
, а затем я беру ввод от пользователя.Поиск ключевого слова из массива во входной строке и их печать
String input="I have three no, four strings";
Теперь то, что я хочу сделать, это выполнить операцию поиска по строке для проверки слов, доступных в словник массива []; Как и в приведенном выше примере, входная строка содержит слова три и четыре, которые присутствуют в массиве. , чтобы он мог печатать эти слова из массива, доступного в строке, и если слова из списка слов [] недоступны, тогда он должен печатать «No Match Found».
Вот мой код, я поражен этим. Пожалуйста
import java.util.regex.*;
import java.io.*;
class StringSearch{
public static void main(String ...v)throws IOException{
BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
String wordlist[]={"one","two","three","four","five"};
String input=cin.readLine();
int i,j;
boolean found;
Pattern pat;
Matcher mat;
Pattern spliter=Pattern.compile("[ ,.!]");
String ip[]=spliter.split(input);
System.out.println(ip[2]);
for(i=0; i<wordlist.length;i++){
for(j=0;j<ip.length;j++){
pat=Pattern.compile("\b"+ip[j]+"\b");
mat=pat.matcher(wordlist[i]);
if(){
// No Idea What to write here
}
}
}
}
}
в случае условия put 'mat.matches()'. В том случае, если тело увеличивает число целых чисел и использует его за пределами циклов for, чтобы напечатать «no match found» в случае совпадения нуля. Также проверьте, что '' \ b "+ ip [j] +" \ b "' regex, это не работает для меня – Oneiros
@Oneiros 'matches' добавить'^'и' $ ', поэтому должно быть полное соответствие –