Java

java中split与replace函数

/**
 * <p>Description:	split与replace函数测试</p>
 * <p>Created on	2017年4月19日 下午12:49:00</p>
 * @author		石马人山  liuyuewei@longlonggo.com
 */
public class MyStudy{
	
	public static void main(String[] args) {
		String str = "1.2.3.4";
		
//		//java中有几个字符需要转义:'.', '|', '', '*', '+'
//		outStr(str.split("."));		//错误写法,输出结果是:null
//		outStr(str.split("\."));	//正确写法,输出结果是:--->1 --->2 --->3 --->4

//		outStr(str.split("\.", -4));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", -3));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", -2));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", -1));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", 0));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", 1));	//输出结果是:--->1.2.3.4
//		outStr(str.split("\.", 2));	//输出结果是:--->1 --->2.3.4
//		outStr(str.split("\.", 3));	//输出结果是:--->1 --->2 --->3.4
//		outStr(str.split("\.", 4));	//输出结果是:--->1 --->2 --->3 --->4
//		outStr(str.split("\.", 5));	//输出结果是:--->1 --->2 --->3 --->4

		
		//replace没有用到正则,所以只会替换等值匹配的字符串/字符
		//replaceAll(允许使用正则全字符串匹配替换) 和 replaceFirst(允许使用正则仅替换匹配到的首个选项)用到了正则,所以特殊字符需要进行转义才能替换
		str = "1*2*3*4";
//		str = str.replace("*", "-");		//【此处不需要转义】输出结果是:1-2-3-4
//		str = str.replace('*', '-');		//【此处不需要转义】输出结果是:1-2-3-4
		
//		str = str.replaceAll("*", "-");		//错误写法,输出报错java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
//		str = str.replaceAll("\*", "-");	//正确写法,输出结果是:1-2-3-4

//		str = str.replaceFirst("*", "-");	//错误写法,输出报错java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
		str = str.replaceFirst("\*", "-");	//正确写法,输出结果是:1-2*3*4
		System.out.println(str);
		
	}
	
	/**
	 * 输出函数
	 * @param strs 字符串数组
	 */
	public static void outStr(String[] strs){
		for (String str : strs) {
			System.out.println("--->"+str);
		}
	}
}

留言

您的电子邮箱地址不会被公开。 必填项已用*标注