java字符串替换replace成功却得不到结果
来源:互联网 发布:淘宝店铺素材免费下载 编辑:程序博客网 时间:2024/05/18 02:05
今天刚需要用到java的字符串的替换, 本来觉得挺简单的问题,却总也解决不了。用indexOf()明明也找到了字符串中含有需要替换的字符串,字符串明明也是替换了,却总也输出不了正确结果。
public static void replace(){
String path="D:\\zz2\\";
String filepath="D:\\zz3\\";
File folder=new File(path);
File[] folderList=folder.listFiles();
for(int i=0;i<folderList.length;i++){
File[] fileList=folderList[i].listFiles();
try {
BufferedReader reader=new BufferedReader(new FileReader(fileList[i]));
String filePath=filepath+fileList[i].getName();
File file=new File(filePath);
if(!file.exists()){
file.createNewFile();
}
FileWriter writer=new FileWriter(filepath+fileList[i].getName(),true);
String temp=null;
while((temp=reader.readLine())!=null){
temp="<td class=\"nocontentTd\"<";
System.out.println(temp.indexOf("<td class=\"nocontentTd\"<"));
temp.replace("<td class=\"nocontentTd\"<", "<td class=\"nocontentTd\"><");
writer.write(temp+"\n");
System.out.println(temp);
}
reader.close();
writer.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
发现temp还是没变,后来发现relpace是有返回值的,于是
while((temp=reader.readLine())!=null){
temp="<td class=\"nocontentTd\"<";
System.out.println(temp.indexOf("<td class=\"nocontentTd\"<"));
temp=temp.replace("<td class=\"nocontentTd\"<", "<td class=\"nocontentTd\"><");
writer.write(temp+"\n");
System.out.println(temp);
}
就得到了正确结果。
我们来看String的replaceAll()方法的实现:
我们可以看到,其最终是调用了matcher(this).replaceAll(replacement)方法来实现的,我们看其是怎么实现的:
可见最终是把temp的值传进去,temp本身没变,最终的返回结果才是要的结果。
- java字符串替换replace成功却得不到结果
- 【Java】字符串替换replace
- java string 字符串替换:replace
- Java字符串替换(replace)
- Java StringBuffer 字符串替换函数 replace
- java 字符串替换 replace与replaceAll
- 字符串替换,不用replace
- replace替换字符串问题
- replace 替换字符串。
- JQuery replace字符串替换
- js replace 字符串替换
- java字符串替换字符串实例,对replace方法的重写
- java中字符串替换-String.replace StringreplaceAll
- java字符串的替换replace、replaceAll、replaceFirst的区别详解
- Java:String 字符串的替换函数 replace replaceAll replaceFirst
- java字符串的替换replace、replaceAll、replaceFirst的区别详解
- java字符串的替换replace、replaceAll、replaceFirst的区别详解
- java字符串的替换replace、replaceAll、replaceFirst的区别详解
- 自定义Application时的一个Trick
- Android RoboGuice2 使用指南(2): 第一个例子Hello World
- Emacs 入门指引(三) 开始使用
- bottle做web开发的物理设计
- H - Roller Coaster
- java字符串替换replace成功却得不到结果
- C获取系统是32位还是64位
- Maven添加Log4j支持
- oracle 语句优化总结
- hdu 1708
- 无法解析的外部符号
- 对互联网创新的看法
- LR中的参数设置和场景虚拟用户的关联(Random + each iteration|each occurrence|once)
- Android中蓝牙的基本使用----BluetoothAdapter类简介