Java_正则表达式_按给定正则表达式分割或替换字符串
2015-01-07 21:00
609 查看
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "100034234,100234,12,1234,1124,124"; String regex = ","; String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }
输出:[100034234, 100234, 12, 1234, 1124, 124]
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "zhangsan lisi wangwu"; String regex = " +";// 表示空格出现一次或多次 String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }输出:[zhangsan, lisi, wangwu]
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "zhangsan.lisi.wangwu"; String regex = "\\.";// .为特殊字符,匹配所有字符,\.表示匹配.,\\.表示字符串中匹配 String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }输出:[zhangsan, lisi, wangwu]
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "c:\\abc\\t.txt"; String regex = "\\\\";// 表示匹配两个\ String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }输出:[c:, abc, t.txt]
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "abccdeffghi00klmAAopq"; String regex = "(.)\\1";// 按照叠词完成切割,为了可以让规则的结果重用,可以将规则封装成一个组,用()完成,组的编号从1开始,通过/n使用已有的组 String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }输出:[ab, de, ghi, klm, opq]
package test; import java.util.Arrays; public class test { public static void main(String[] args) { String str = "abcccccccccccdefffghi0000klmAAAAAAopq"; String regex = "(.)\\1+"; String result[] = str.split(regex); System.out.println(Arrays.asList(result)); } }输出:[ab, de, ghi, klm, opq]
package test; public class test { public static void main(String[] args) { String str = "sadf123276rfkgfjk989956jkj45783fnmd334"; String regex = "\\d{5,}";// 将5个以上的数字替换 String result = str.replaceAll(regex, "#"); System.out.println(result); } }输出:sadf#rfkgfjk#jkj#fnmd334
package test; public class test { public static void main(String[] args) { String str = "dsnmsssjkkjfduuuuukhkjhddddkjk"; String regex = "(.)\\1+";// 匹配重叠的字符 String result = str.replaceAll(regex, "$1");// 将重叠的的字符替换为单个字符 zzzzzz->z System.out.println(result); } }输出:dsnmsjkjfdukhkjhdkjk
package test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { public static void main(String[] args) { String str = "ming tian jiu yao fang jia le , da jia. "; String regex = "\\b[a-z]{4}\\b";// \b为匹配单词边界,此正则匹配4位字符的边界 Pattern p = Pattern.compile(regex);// 将规则封装成对象 Matcher m = p.matcher(str);// 将正则对象和要作用的字符串相关联,获取匹配器对象 while (m.find()) { System.out.println(m.group()); System.out.println(m.start() + "....." + m.end()); } } }输出:
ming
0.....4
tian
5.....9
fang
18.....22
package test; public class test { public static void main(String[] args) { String str = "20140108"; String regex = "(\\d{4})(\\d{2})(\\d{2})"; String result = str.replaceAll(regex, "$1-$2-$3"); System.out.println(result); } }输出:2014-01-08
相关文章推荐
- 特殊字符导致用正则表达式进行字符串替换失败,Java replaceAll()方法报错Illegal group reference
- java正则表达式替换字符串中带小数点的数字
- Java正则表达式实现字符串的动态多替换
- java替换字符串中符合正则表达式的内容
- 用正则表达式 替换 分割字符串
- java正则表达式替换字符串
- python 正则表达式 字符串的 匹配 替换 分割 查找
- java中用正则表达式获取一个指定的子字符在字符串中出现的指定次数的下标索引,并且进行字符串分割
- java分割字符串和正则表达式
- Java正则表达式,匹配、替换字符串中的占位符
- Java中利用正则表达式将字符串中斜杠替换成双斜杠
- java分割字符串和正则表达式
- Java里面通过正则表达式来实现字符串替换
- JAVA正则表达式替换字符串问题
- Python 正则表达式 字符串的匹配、替换、分割、查找
- java中的正则表达式 字符串的拆分,匹配,替换
- Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)
- [置顶] java中正则表达式替换字符串中的中括号
- Linux C 支持正则表达式的字符串替换函数
- asp常用的正则表达式实现字符串的替换