java replace和replaceAll区别

来源:互联网 发布:淘宝卖玩具 编辑:程序博客网 时间:2024/05/04 18:15

首先看实例

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()方法

0 0
原创粉丝点击