本文实例为大家分享了java实现查找替换功能的具体代码,供大家参考,具体内容如下
查找
if(searchTxt.getText().equals("")){
JOptionPane.showMessageDialog(null, "查找内容不能为空!");
}else if(!searchTxt.getText().equals("")){
//searchDialog.dispose();
if(fileChoose.focus == 1){
fileChoose.tp1.requestFocus(true);
str = fileChoose.tp1.getText();
startPosition = str.indexOf(searchTxt.getText());
endPosition = startPosition + searchTxt.getText().length();
fileChoose.tp1.select(startPosition, endPosition);
newEndPosition = endPosition;
}else if(fileChoose.focus == 2){
fileChoose.tp2.requestFocus(true);
str = fileChoose.tp2.getText();
startPosition = str.indexOf(searchTxt.getText());
endPosition = startPosition + searchTxt.getText().length();
fileChoose.tp2.select(startPosition, endPosition);
newEndPosition = endPosition;
}
}
查找下一处
nextTemp = newEndPosition;
if(fileChoose.focus == 1){
strAll = fileChoose.tp1.getText();
fileChoose.tp1.select(nextTemp, strAll.length());//选中所有未查找的字符串
nextStr = fileChoose.tp1.getSelectedText();
newStartPosition = nextStr.indexOf(searchTxt.getText()) + nextTemp;//在未查找的字符串中查找对应字符在tp1中的位置
newEndPosition = newStartPosition + searchTxt.getText().length();
fileChoose.tp1.select(newStartPosition, newEndPosition);//找到文本,选择文本
}else if(fileChoose.focus == 2){
strAll = fileChoose.tp2.getText();
fileChoose.tp2.select(nextTemp, strAll.length());//选中所有未查找的字符串
nextStr = fileChoose.tp2.getSelectedText();
newStartPosition = nextStr.indexOf(searchTxt.getText()) + nextTemp;//在未查找的字符串中查找对应字符在tp1中的位置
newEndPosition = newStartPosition + searchTxt.getText().length();
fileChoose.tp2.select(newStartPosition, newEndPosition);//找到文本,选择文本
}
替换
if(fileChoose.focus == 1){
fileChoose.tp1.requestFocus(true);
str = fileChoose.tp1.getText();
startPosition = str.indexOf(searchTxt.getText());
endPosition = startPosition + searchTxt.getText().length();
fileChoose.tp1.replaceSelection(replaceTxt.getText());
newEndPosition = endPosition;
}else if(fileChoose.focus == 2){
fileChoose.tp2.requestFocus(true);
str = fileChoose.tp2.getText();
startPosition = str.indexOf(searchTxt.getText());
endPosition = startPosition + searchTxt.getText().length();
fileChoose.tp2.replaceSelection(replaceTxt.getText());
newEndPosition = endPosition;
}
替换下一处
if(fileChoose.focus == 1){
fileChoose.tp1.requestFocus(true);
nextTemp = newEndPosition;
strAll = fileChoose.tp1.getText();////////////////////////////////
fileChoose.tp1.select(nextTemp, strAll.length());/////////////////////////////
nextStr = fileChoose.tp1.getSelectedText();
newStartPosition = nextStr.indexOf(searchTxt.getText()) + nextTemp;
newEndPosition = newStartPosition + searchTxt.getText().length();
fileChoose.tp1.select(newStartPosition, newEndPosition);
fileChoose.tp1.replaceSelection(replaceTxt.getText());
}else if(fileChoose.focus == 2){
fileChoose.tp2.requestFocus(true);
nextTemp = newEndPosition;
strAll = fileChoose.tp2.getText();
fileChoose.tp2.select(nextTemp,strAll.length());
nextStr = fileChoose.tp2.getSelectedText();
newStartPosition = nextStr.indexOf(searchTxt.getText()) + nextTemp;
newEndPosition =newStartPosition + searchTxt.getText().length();
fileChoose.tp2.select(newStartPosition, newEndPosition);
fileChoose.tp2.replaceSelection(replaceTxt.getText());
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。