用另一个单词替换单词由用户选择

时间:2016-10-26 18:53:02

标签: java replace jtextarea

我试图一次更换一个单词。我一直在寻找其他答案,但我认为到目前为止我编码的内容会简单得多。我想用用户也选择的另一个单词替换用户选择的单词。我将有两个文本字段和一个按钮,每次用户单击按钮时,我们将从两个文本字段中获取文本,并替换文本区域中需要替换的单词。我的问题是,当单击替换按钮时,文本区域中的任何其他文本都将被删除,我们只剩下正在执行替换的单词。我知道我的问题是因为我将文本区域的文本设置为只有一个单词,但我不知道如何解决它。这是我的代码:感谢任何帮助。

    replaceButton.addActionListener( new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            String findText = textField.getText();
            String replaceText = textField2.getText();
            String text = textArea.getText();

            text += text.replaceFirst(findText, replaceText);
            textArea.setText(replaceText);

        }
    });

1 个答案:

答案 0 :(得分:0)

像你说的那样。您正在将textArea中的文本设置为要替换的文本。因此,请将textArea中的文字设置为从text.replaceFirst(findText, replaceText)返回的更新文本。你也不需要连接结果。

试试这个。

replaceButton.addActionListener( new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        //the text you want to replace
        String findText = textField.getText();
        //what you want to replace it with
        String replaceText = textField2.getText();
        //all the text in the text area
        String text = textArea.getText();

        //replace first occurrence of "findText" with "replaceText"
        //returns the altered string
        text = text.replaceFirst(findText, replaceText);
        //set text in textArea to newly updated text
        textArea.setText(text);

    }
});

为了确保我理解你,你想要这样的东西。

原文:我喜欢猫,猫很酷。

找到:猫;替换:狗。

首先点击输出:我喜欢狗,猫很酷。

第二次点击输出:我喜欢狗,狗很酷。