2013-12-11 3 views
-1

Здесь мы должны добавить эту логику, независимо от буквы, в этом url массива argi, было определенное слово ... String «word» - слово, которое мы вводим в поиске. Помощь please.Here является код:Как добавить логику поиска

public class Search { 

    private String word; 
    private String str=""; 

      public String getWord() { 
      return word; 
     } 

     public void setWord(String word) { 
      this.word = word; 
     } 
     public String getStr() { 
      return str; 
     } 

     public void setStr(String str) { 
      this.str = str; 
     } 

     private final Pattern TITLE = Pattern.compile("\\<title\\>(.*)\\<\\/title\\>"); 

     public String search(String url, String someword) { 

      try { 
       InputStreamReader in = new InputStreamReader(new URL(url).openStream(),"UTF-8"); 
       StringBuilder input = new StringBuilder(); 
       int ch; 
       while ((ch = in.read()) != -1) { 
        input.append((char) ch); 
       } 
       if (Pattern.compile(someword).matcher(input).find()) { 
        Matcher title = TITLE.matcher(input); 
        if (title.find()) { 
         return title.group(1); 
        } 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } catch (PatternSyntaxException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     public String toString() { 
      String[] argi = {"http://localhost:8080/site/endipnagradi", "http://localhost:8080/site/contacts_en", "http://localhost:8080/site/news_en"}; 

      for (int i = 0; i < argi.length; i++) { 
      String result = search(argi[i], word); 
      String regex = "^[А-Яа-я]+$"; 


      if (result != null && word.length()>2) { 

        str += "Search phrase " + "<b>"+ word + "</b>" + " have found in " + "<a href=\"" + argi[i] + "\">" + result + "</a>"+ "<p></p>"; 

        } 

      if(word.length()<3 || word.matches(regex)){ 

       str="Word not found!"; 
      } 

      if (word == null || word.isEmpty()) { 

       str = "Enter a search word!"; 

       } 
      } 
      return null; 
    } 
} 

Например, я поставил слово «телефон», но мое содержание имеет только слово «телефон». Так или иначе поиск должен найти его

ответ

0

Создайте свой шаблон с правильной опцией, чтобы он совпадал с регистром. Изменить код из:

if (Pattern.compile(someword).matcher(input).find()) 

в

if (Pattern.compile(someword, Pattern.CASE_INSENSITIVE).matcher(input).find()) 

Для получения дополнительной информации, смотрите here.

+0

Супер, его работа !! Спасибо! –

1

вы можете использовать equalsIgnoreCase();. Тогда у вас может быть решение

"phone".equalsIgnoreCase("Phone") ; // this will return true and found the word 
+0

но у меня есть переменное строковое слово. Как добавить его в мой код? –

Смежные вопросы