注意:分割时的,使用边界符"\\d"会保留边界符,不可以用边界符,(可以把边界符理解成边界和单词之间的间距地方)
一 初试分割
分割年龄字符串,获得年龄的区间
输入18-30 输出18 30
public static void main(String[] args){
String age="18-30";
String regex="-"; //规定拆分字符串的规则
String[] result=age.split(regex);
/*for(int i=0;i<result.length;i++){
System.out.print(result[i]+" ");
}*/
//获得年龄的int类型
int startAge=Integer.parseInt(result[0]);
int endAge=Integer.parseInt(result[1]);
Scanner sc=new Scanner(System.in);
int myAge=sc.nextInt();
if(myAge>startAge && myAge<endAge){
System.out.println("符合条件");
}
else{
System.out.println("不符合条件");
}
}
二 特殊字符的处理
1.去掉逗号
2.去掉句号
3.去掉多个空格
4.文件绝对路径的分割 //硬盘上的路径,我们应该用\\替代\
public class Split2 {
public static void main(String[] args){
String a="aa,bb,cc";
String sp=",";
String[] ans=a.split(sp);
for(int i=0;i<ans.length;i++){
System.out.println(ans[i]);
}
a="aa.bb.cc";
ans=a.split("\\.");
for(int i=0;i<ans.length;i++){
System.out.println(ans[i]);
}
a="aa bb ccc";
ans=a.split(" +");
for(int i=0;i<ans.length;i++){
System.out.println(ans[i]);
}
//硬盘上的路径,我们应该用\\替代\
a="E:\\download\\baiduyun\\【1】java视频\\day14\\avi\\code\\day14_Regex\\src\\cn\\itcast_03";
ans=a.split("\\\\");
for(int i=0;i<ans.length;i++){
System.out.println(ans[i]);
}
}
}
三 数字字符串排序
有如下一个字符串:"91 27 46 38 50"
排序后
最终输出结果是:"27 38 46 50 91"
public static void main(String[] args){
String a="91 27 46 38 50";
//得到字符串数组
String[] ans=a.split(" +");
//把字符串数组编程int数组
int[] res=new int[ans.length];
for(int i=0;i<ans.length;i++){
res[i]=Integer.parseInt(ans[i]);
}
//对int数组排序
Arrays.sort(res);
//将int数组转换成字符串
StringBuilder sb=new StringBuilder();
for(int i=0;i<res.length;i++){
sb.append(res[i]).append(" ");
}
String bb=sb.toString().trim();
//输出字符串
System.out.print(bb);
}