2017-01-22 5 views
0

У меня есть TextView, в котором я могу искать некоторые слова и код для поиска заключается в следующем:Более высокий строчный регистр - как сделать его равным?

public void btn_search(View view) { 
    int total = 0; 
    String word_search = Etxt.getText().toString().trim(); 
    String fullTxt = textView.getText().toString(); 
    String[] array = fullTxt.split("\n"); 
    String word; 
    StringBuilder st = new StringBuilder(); 
    for (int i = 0; i < array.length; i++) { 
     word = array[i]; 
     if (word.contains(word_search)) { 
      st.append("<b><i>" + word.trim() + "</i></b>"); 
      total++; 
     } else { 
      st.append(word); 
     } 
     st.append("<br>"); 
    } 
    textView.setText(Html.fromHtml("" + st)); 
    text_total.setText("Ergebnisse: " + total); 
} 

Теперь проблема в том, что когда я ищу что-то, я должен обратить внимание на более нижний регистр. И возникает вопрос: как я могу сделать более высокий нижний регистр равным, чтобы я мог искать что-то, не обращая на это внимания?

Спасибо!

ответ

1

Просто используйте toLowerCase() сделать contains чувствительны к регистру

word = array[i].toLowerCase(); 
    if (word.contains(word_search.toLowerCase())) { 

Чтобы append оригинальное использование

int total = 0; 
    String word_search = Etxt.getText().toString().trim().toLowerCase(); 
    //              ^^^ 
    String fullTxt = textView.getText().toString(); 
    String[] array = fullTxt.split("\n"); 
    String word; 
    StringBuilder st = new StringBuilder(); 
    for (int i = 0; i < array.length; i++) { 
     word = array[i]; 
     if (word.toLowerCase().contains(word_search)) { 
      // ^^^^ won't change the original case , to append later 
      // toLowerCase() returns the new string object in lower case 
      // so original "word" string object stays the same 
      st.append("<b><i>" + word.trim() + "</i></b>"); 
      total++; 
     } else { 
      st.append(word); 
     } 
     st.append("<br>"); 
    } 
    textView.setText(Html.fromHtml("" + st)); 
    text_total.setText("Ergebnisse: " + total); 
+0

@android попробовать обновленный ответ, я имел в виду, что так увидеть пример кода –

+1

Очень хороший ! БЛАГОДАРЯ! – android

+0

@android спасибо за комплимент, я рад, что могу помочь, счастливое кодирование –

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

  • Нет связанных вопросов^_^