java replace和replaceAll区别
2015-11-02 10:21
871 查看
首先看实例
package test.util;
import org.junit.Test;
public class TestSubString {
/**
*
* @方法功能说明: 测试replace和replaceAll的区别
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数: @throws Exception
* @return void
* @异常抛出:
*/
@Test
public void testReplace()throws Exception{
String str="java.lang.String";
String str2="java.lang.String";
//在正则表达式中,小圆点表示匹配除换行符号外的任意字符,所以以下将打印16个////////////////
System.out.println("replaceAll将打印16个/:"+str.replaceAll(".", "/"));
/**
* 正确的写法:System.out.println("replaceAll:"+str.replaceAll("\\.", "/"));
*/
System.out.println(" replace:"+str2.replace(".", "/"));
/**
* replaceAll中替换两个\\
*/
System.out.println("\\"); //打印一个\
System.out.println("\\\\"); //打印两个\\
System.out.println("\\\\\\");//打印三个\\\
/**
* 替换
*/
String str3="java.lang.String";
System.out.println(str3.replaceAll("\\.", "////"));//打印:java////lang////String
}
/**
*
* @方法功能说明: 测试如果需要转义替代\\那么需要8个\
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数:
* @return void
* @异常抛出:
*/
@Test
public void testimport(){
String str="java\\lang\\String";
System.out.println(str.replaceAll("\\\\", "\\\\\\\\"));//打印结果:java\\lang\\String
}
/**
*
* @方法功能说明:测试replaceFirst
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数:
* @return void
* @异常抛出:
*/
@Test
public void testReplaceFirst(){
String str = "aaa###.bbb###ccc.###ddd.";
System.out.println(str.replaceFirst("#", "1")); //打印:aaa1##bbb###ccc###ddd
System.out.println(str.replaceFirst(".", "1")); //打印:1aa###.bbb###ccc.###ddd.
System.out.println(str.replaceFirst("\\.", "1")) ;//打印:aaa###1bbb###ccc.###ddd.
System.out.println(str.replaceFirst("/.", "1")); //打印:aaa###.bbb###ccc.###ddd.
}
}
注意:replace的参数是字符或者字符串
replace的参数除了是字符或者字符串外,还可以是regex正则表达式,所以可以替换更广的内容,比如转义字符
如果想只替换第一个字符,则使用replaceFirst()方法
package test.util;
import org.junit.Test;
public class TestSubString {
/**
*
* @方法功能说明: 测试replace和replaceAll的区别
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数: @throws Exception
* @return void
* @异常抛出:
*/
@Test
public void testReplace()throws Exception{
String str="java.lang.String";
String str2="java.lang.String";
//在正则表达式中,小圆点表示匹配除换行符号外的任意字符,所以以下将打印16个////////////////
System.out.println("replaceAll将打印16个/:"+str.replaceAll(".", "/"));
/**
* 正确的写法:System.out.println("replaceAll:"+str.replaceAll("\\.", "/"));
*/
System.out.println(" replace:"+str2.replace(".", "/"));
/**
* replaceAll中替换两个\\
*/
System.out.println("\\"); //打印一个\
System.out.println("\\\\"); //打印两个\\
System.out.println("\\\\\\");//打印三个\\\
/**
* 替换
*/
String str3="java.lang.String";
System.out.println(str3.replaceAll("\\.", "////"));//打印:java////lang////String
}
/**
*
* @方法功能说明: 测试如果需要转义替代\\那么需要8个\
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数:
* @return void
* @异常抛出:
*/
@Test
public void testimport(){
String str="java\\lang\\String";
System.out.println(str.replaceAll("\\\\", "\\\\\\\\"));//打印结果:java\\lang\\String
}
/**
*
* @方法功能说明:测试replaceFirst
* @修改者名字:yang
* @修改日期 : 2015-11-2
* @修改内容 :
* @参数:
* @return void
* @异常抛出:
*/
@Test
public void testReplaceFirst(){
String str = "aaa###.bbb###ccc.###ddd.";
System.out.println(str.replaceFirst("#", "1")); //打印:aaa1##bbb###ccc###ddd
System.out.println(str.replaceFirst(".", "1")); //打印:1aa###.bbb###ccc.###ddd.
System.out.println(str.replaceFirst("\\.", "1")) ;//打印:aaa###1bbb###ccc.###ddd.
System.out.println(str.replaceFirst("/.", "1")); //打印:aaa###.bbb###ccc.###ddd.
}
}
注意:replace的参数是字符或者字符串
replace的参数除了是字符或者字符串外,还可以是regex正则表达式,所以可以替换更广的内容,比如转义字符
如果想只替换第一个字符,则使用replaceFirst()方法
相关文章推荐
- Spring体系结构介绍
- 在eclipse中执行数据库脚本
- struts2中s:select标签的使用
- Struts2版本更新报错:>>> ActionContextCleanUp <<< is deprecated! Please use the new filters!
- JAVA移位运算,INT类型颜色到RGB转换
- struts2 package 属性说明
- 浅谈 Java 性能优化
- struts.xml配置文件(package,namespace,action)
- Java序列化与反序列化的总结
- java POI中一些颜色值
- Eclipse ADT 与Android Studio 在放置jar库-资源文件-so文件的区别
- eclipse中签名打包
- 关于maven+springMVC+mybatis搭建的web项目问题
- Java基础笔试题2
- eclipse设置自定义快捷键
- 闰平年简介及计算过程描述 - Java代码实现
- 详解Spring中的CharacterEncodingFilter
- Spring MVC入门(1)---配置
- Apusic+SpringJMS持久订阅配置及Topic重启后不能接受到信息问题解决
- 【深入Java虚拟机】之四:类加载机制