例题1.校验一个QQ号码
1.要求必须满足是5-15位数字
2.0不能开头
startWith("0"); //不能以0为开头
charAt(i); //获得每一个字符
Character.isDigit(ch); //判断ch字符串是否为数字
qqNumber.matches(regx); //判断qqNumber是否匹配(regx);
正则表达式
String regx="[1-9][0-9]{4,14}";
boolean flag=qqNumber.matches(regx); //判断qqNumber是否匹配(regx);
return flag;
正则表达式的规则-1
1.[1,2,3] //","表示或者
2.[^1,2,3] //"^"表示取反
3.[a-z] //是不是26个字母中的一个
4.[a-zA-Z0-9] //数字或则字母中的一个(不区分大小写)
5."." //通配符,匹配单个任意的字符
".." //匹配俩个任意的字符(数字和字母也可以)
6."\\." //转义 \\只代表.
7."|" //代表或者的意思,你让他代表|线就要转义 \\
8."[\\d]" //跟[0-9]一个意思
9."[\\w]" //跟[a-zA-Z_0-9]一个意思
"[\\W]" //取反
10."[\\s]" //匹配一个空格字符
11."[0-9]+" //表示列表中的数字可以出现1次或者多次
12."[0-9]*" //表示列表中的数字可以出现0次或者多次(1次也算多次)
13."[0-9]?" //表示列表中的数字可以出现0次或1次
正则表达式的规则-2
1."[0-9]{6}" //固定次数{6}只能出现6个
2."[0-9]{6,}" //{6,} 至少6个
3."[0-9]{6,16}" //{6,16} 6到16个
4.[\\u4e00 - \\u9fa5] //匹配中文字符(包含数字和字母)
5.[^\\x00-\\xff] //匹配中文字符(只能有汉字)
切割字符串
name.split(); //去掉()中的字符串
1.String name="张三=李四=王五";
String substring = name.substring(0, name.indexOf("=")); //"张三"
2.String name="张三=李四=王五";
String [] string=name.split("=");
for(int i=0;i<string.length;i++){
System.out.println(string[i])
}
Integer.parseInt(arr[i]) //将arr[i]字符串转换成 数组(int) 类型
例题1.将此字符串中的数字按照从大到小的顺序排列
String str="12 56 89 55 44 65656 11 ";
String[] split = str.split("\\s+");
int[] arr2 = new int[split.length];
for (int i = 0; i < split.length; i++) {
arr2[i]=Integer.parseInt(split[i]);
}
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//将字符数组转换成字符串的形式
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < arr2.length; i++) {
stringBuilder.append(arr2[i]).append(" ");
}
String s = stringBuilder.toString();
System.out.println(s);
替换字符串
1.普通替换
replace("a","b"); //将"a"字符替换成"b"字符;
2.正则替换
replaceAll("[\\w@]","")