您的位置:首页 > 编程语言 > Java开发

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()方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: