重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
if(p.getActionCommand()=="查找 "||p.getSource()==findc) // 创建查找对话框;
创新互联建站是一家集网站建设,平遥企业网站建设,平遥品牌网站建设,网站定制,平遥网站建设报价,网络营销,网络优化,平遥网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
{find=new Dialog(this,"查找");
JPanel p1=new JPanel();
JPanel p2=new JPanel();
findtxt=new JTextField(7);
p1.add(new JLabel("输入要查找字符:"));
p1.add(findtxt);
p2.add(findenter);
find.add("Center",p1);
find.add("South",p2);
find.setSize(200,100);
find.show();
}
if(p.getSource()==findenter) ///点击查找对话框的确定按钮后的事件处理
{
if(findtxt.getText().equals(""))
{find.dispose();}
else if(!findtxt.getText().equals(""))
{ find.dispose();
str=txt1.getText();
startp=str.indexOf(findtxt.getText());
endp=startp+findtxt.getText().length();
txt1.select(startp,endp);
m26.setEnabled(true);
newendp=endp;////////获取这次查找的终点
notfindmethod();
}
}
//////////////////////////////////////////////////////////
if(p.getActionCommand()=="查找下一个 ")
{
nexttemp=newendp; /////获取上次查找的终点做为未查找字符串的起点
String strall=txt1.getText();
txt1.select(nexttemp,strall.length()); /////选中所有未查找的字符串
strnext=txt1.getSelectedText();
newstartp=strnext.indexOf(findtxt.getText())+nexttemp;/////在未查找的字符串里搜索对应字符的在TXT1中的位置
newendp=newstartp+findtxt.getText().length();
txt1.select(newstartp,newendp); ////找到相应文本,并选择
notfindmethod();
}
if(p.getActionCommand()=="替换 ")
{m271.setEnabled(true);
replace=new Dialog(this,"替换"); // 创建替换对话框;
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
findtxt=new JTextField(7);
repltxt=new JTextField(7);
p1.add(new JLabel("输入原始字符:"));
p1.add(findtxt);
p2.add(new JLabel("输入替换字符:"));
p2.add(repltxt);
p3.add(replb);
replace.add("North",p1);
replace.add("Center",p2);
replace.add("South",p3);
replace.setSize(200,150);
replace.show();
}
if(p.getSource()==replb) ///点击替换对话框的确定按钮后的事件处理
{
replace.dispose();
str=txt1.getText();
startp=str.indexOf(findtxt.getText());
endp=startp+findtxt.getText().length();
txt1.replaceRange(repltxt.getText(),startp,endp);
newendp=endp; ///获取这次替换的终点
}
if(p.getActionCommand()=="替换下一个")
{nexttemp=newendp; /////获取上次查找的终点做为未查找字符串的起点
String strall=txt1.getText();
txt1.select(nexttemp,strall.length()); /////选中所有未查找的字符串
strnext=txt1.getSelectedText();
newstartp=strnext.indexOf(findtxt.getText())+nexttemp;/////在未查找的字符串里搜索对应字符的在TXT1中的位置
newendp=newstartp+findtxt.getText().length();
txt1.select(newstartp,newendp);
notfindmethod();
txt1.replaceRange(repltxt.getText(),newstartp,newendp);//替换字符
}
if(p.getActionCommand()=="全选 ")
{txt1.selectAll(); }
要看全部代码,我空间里有,自己看
这段代码只能替换第一个oldStr,并且这个oldStr只能作为一行出现。不知道你想修改成什么样的,是要修改成一行当中的某个字符串吗?还是什么。。。 如果这个oldStr并不是一行的话,你可以用StringTokenizer tokenizer = new StringTokenizer(line, oldStr);的方法来找到匹配的oldStr,然后对其进行替换。如果需要替换全部的oldStr,你可以这样做 while(temp = br.readLine()) != null ) { //逐行查找替换。用StringTokenizer } 更加简单的方法就是,直接读出文件,放到String中,用replaceAll的方法就可以替换所有的,用replaceFirst就能只替换第一个。
使用replace方法
该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串,例如:
String s = “abcat”;
String s1 = s.replace(‘a’,‘1’);
该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,例如:
String s = “abatbac”;
String s1 = s.replaceAll(“ba”,“12”);
该代码的作用是将字符串s中所有的字符串“ab”替换为“12”,生成新的字符串“a12t12c”,而字符串s的内容也不发生改变。
字符串在存储上类似字符数组
它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:
长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
最简单的就是将文本内容作使用String处理
只替换一次 : String.replace("需要替换的字符串","替换的字符串")
替换所有匹配字符 : String.replaceAll("需要替换的字符串","替换的字符串")
replcaeAll支持使用正则表达式。
public int indexOf(String str),返回指定子字符串在此字符串中第一次出现处的索引。这个函数举可以实现字符串的查找功能
public StringreplaceAll(String regex,String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串,这个函数实现替换功能
public class Strings{
public static void main(String[] args){
String str = "字符串";
if(str.indexOf("串") != -1){
System.out.println("包含串子");
}else{
System.out.println("不包含串子");
}
System.out.println("删除后为:" + str.replace("串",""));
System.out.println("替换后为:" + str.replace("串","!"));
}
}