我试图一次更换一个单词。我一直在寻找其他答案,但我认为到目前为止我编码的内容会简单得多。我想用用户也选择的另一个单词替换用户选择的单词。我将有两个文本字段和一个按钮,每次用户单击按钮时,我们将从两个文本字段中获取文本,并替换文本区域中需要替换的单词。我的问题是,当单击替换按钮时,文本区域中的任何其他文本都将被删除,我们只剩下正在执行替换的单词。我知道我的问题是因为我将文本区域的文本设置为只有一个单词,但我不知道如何解决它。这是我的代码:感谢任何帮助。
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);
}
});
答案 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);
}
});
为了确保我理解你,你想要这样的东西。
原文:我喜欢猫,猫很酷。
找到:猫;替换:狗。首先点击输出:我喜欢狗,猫很酷。
第二次点击输出:我喜欢狗,狗很酷。