在textarea java中搜索和替换

时间:2015-11-26 06:48:00

标签: java replace textarea

替换没有任何问题,除非在我替换我要替换的内容之后,textarea上的所有其他字符串突然变成小写,我该如何修复它

     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));

            }

        }
    });

2 个答案:

答案 0 :(得分:1)

突然降低的原因是你在textArea.GetText()上调用了toLowercase。 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));
}

(但是你不会对不区分大小写的搜索和替换..)

答案 1 :(得分: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));

    }
}