Java中的split() replace() replaceFirst() replaceAll()四个函数分析
前几天在公司分割一个很简单字符串,结果却怎么测都不对,最后查了一下资料,终于发现了端倪:
split(regex);
replace(target, replacement);
replace(oldChar, newChar);
replaceFirst(regex, replacement);
replaceAll(regex, replacement)
仔细看一下,你会发现split()、replaceFirst()、replaceAll()的参数都是Regular Expression,也就是正则表达式,只有replace()的参数是字符或者字符串,由于这些参数类型的差异,很有将得不到预期的结果,下面是一些测试代码的例子,大家可以自己测一下
package cn.bridgeli.stringtest; import org.junit.Test; public class StringTest { @Test public void testSplit1() { String str = "111|222|333|444"; String[] result = str.split("|"); for (String string : result) { System.out.println(string); } // String str = "111|222|333|444"; // String[] result = str.split("\|"); // for (String string : result) { // System.out.println(string); // } } @Test public void testSplit2() { String str = "111,222,333,444"; String[] result = str.split("\d"); for (String string : result) { System.out.println(string); } // String str = "111\222\333\444"; // String[] result = str.split("\\"); // for (String string : result) { // System.out.println(string); // } } @Test public void testSplit3() { String str = "111222333444"; String[] result = str.split("\"); for (String string : result) { System.out.println(string); } // String str = "111\222\333\444"; // String[] result = str.split("\\"); // for (String string : result) { // System.out.println(string); // } } @Test public void testReplaceAll() { String str = "111,222,333,444"; String result = str.replaceAll(",", "$"); System.out.println(result); // String str = "111,222,333,444"; // String result = str.replaceAll(",", "\$"); // System.out.println(result); } }
全文完,如果本文对您有所帮助,请花 1 秒钟帮忙点击一下广告,谢谢。
作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/99
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/99
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
分类: Java
近期评论