spilt
String[] split(String regex) 将当前字符串按照满足正则表达式要求的部分拆分,将拆分后的每部分字符串最终以 数组的形式返回。
拆分规则
如果字符串开始就可以出现可拆分项,则拆分出的第一个字符串为空字符串。 str = "@a@b@c@d@e@f@" data = str.split("@"); data:["", a, b, c, d, e, f]
如果连续匹配到两个可拆分项,则中间会拆分出一个空字符串
str = "a@@b@c@d@e@f@" data = str.split("@"); data:[a, "", b, c, d, e, f]
如果末尾拆分出空字符串时,会被【全部忽略】
str = "a@b@c@d@e@f@@@@@@@@" data = str.split("@"); data:[a, b, c, d, e, f]
代码实例
data = line.split("[a-z]+");
System.out.println(data.length);
System.out.println(Arrays.toString(data));
String line2 = "a=b=c=d=e=f";
//将line2按照"="进行拆分
String[] data2 = line2.split("=");
System.out.println(data2.length);//6
System.out.println(Arrays.toString(data2));
line2 = "===a=b=c=d=e=f";//最开始会拆分出三个空字符串
data2 = line2.split("=");
System.out.println(data2.length);//9
System.out.println(Arrays.toString(data2));
line2 = "a=b=c=d=e=f======================";
data2 = line2.split("=");//末尾的空字符串全部被忽略
System.out.println(data2.length);//6
System.out.println(Arrays.toString(data2));
replace
将当前字符串中所有满足正则表达式的部分替换为给定的内容 String replaceAll(String regex,String replacement) 替换 所有
代码实例
String line="123abC456dEf789hij";
line=line.replaceAll("[a-zA-z]+","*");
System.out.println(line);
//replaceAll应用——屏蔽敏感词
String regex="(wqnmlgb|dsb|nc|sb|nmd|cnm)";
String input="wqnmlgb,你个nc,cnm";//用户输入
System.out.println(input.replaceAll(regex,"*"));