2015-11-26 27 views
0

沒有什麼錯,只是更換後,我代替我要替換textarea的突然變成小寫的所有其它串什麼我該如何解決它搜索和文本區域的Java替代

 replacebutton.addActionListener(new ActionListener() { 

     public void actionPerformed(ActionEvent e) { 
      String txt = textArea.getText().toLowerCase(); 
      String txt2 = search.getText().toLowerCase(); 
      String txt3 = replace.getText(); 

      if (txt.contains(txt2)) { 
       textArea.setText(txt.replaceAll(txt2, txt3)); 

      } 

     } 
    }); 

回答

0

你設定返回之前設置爲小寫的txt變量。這就是爲什麼在這個程序後,一切都是小寫的。

String.replaceAll("(?i)" + toReplace, Replacement); 

使用方法如下:

您可以將其替換敏感

public void actionPerformed(ActionEvent e) { 
    String txt = textArea.getText(); 
    String txt2 = search.getText(); 
    String txt3 = replace.getText(); 

    if (txt.toLowerCase().contains(txt2.toLowerCase())) { 
      textArea.setText(txt.replaceAll("(?i)" + txt2, txt3)); 

    } 
} 
1

的原因突然小寫是,你叫toLowercase在textArea.GetText()。 txt變量現在保存一個全小寫的字符串。然後調用textArea.setText(TXT ...

你可以試試這個:

String txt = textArea.getText(); 
String txt2 = search.getText(); 
String txt3 = replace.getText(); 

if (txt.contains(txt2)) { 
    textArea.setText(txt.replaceAll(txt2, txt3)); 
} 

(但是你不會有一個不區分大小寫的搜索和替換..)