0
点赞
收藏
分享

微信扫一扫

[Java基础]-- replace和replaceAll区别

首先看实例
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("\\.", ""));//打印:javalangString
}/**
*
* @方法功能说明: 测试如果需要转义替代\\那么需要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 条评论