正则表达式匹配,替换,查找,切割的方法
正则表达式的查找;主要是用到String类中的split():
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\.")按照.来截取
str.split(" ")按照空格截取
str.split("cc+")按照c字符来截取,2个c或以上
str.split((1)\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1
截取的例子:
按照分组截取;截取的位置在两个或两个以上的地方
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
String
str = "publicstaticccvoidddmain";
//对表达式进分组重用
String
ragex1="(.)\1+";
String[]
ss = str.split(ragex1);
for(String
st:ss){
System.out.println(st);
}
//按照两个cc+来截取
String
ragex = "
";
//切割
String
strs = "publicstaticccvoidddmain";
String
ragexs = "cc+";
String[]
s = strs.split(ragexs);
for(String
SSSS :s){
System.out.println(SSSS);
}
System.out.println("=-=========");
|
正则表达式中的替换:
语法定义规则:
?| 1 |
String
s =str.replaceAll(ragex, newstr);
|
字符串中的替换是replace();
将4个或4个以上的连续的数字替换成*
?| 1 2 3 4 5 6 |
//
替换
String
str="wei232123jin234";
String
ragex = "\d{4,}";
String
newstr = "*";
String
s =str.replaceAll(ragex, newstr);
System.out.println(s);
|
将重复的字符串换成一个*
?| 1 2 3 4 5 |
String
str ="wwweiei222222jjjiiinnn1232";
String
ragex ="(.)\1+";
String
newStr ="*";
String
s = str.replaceAll(ragex, newStr);
System.out.println(s);
|
将 我...我...要..要.吃...吃...饭 换成 我要吃饭
?| 1 2 3 4 5 6 7 8 9 10 11 12 |
String
str = "我...我...要..要.吃...吃...饭"
|
