一、字符处理
1、手机号、身份证脱敏
//手机号脱敏,脱敏结果:136******25
String phoneStr = "13613208625";
String phoneStrNew = phoneStr.substring(0,3)+"******"+phoneStr.substring(9);
//身份证脱敏,脱敏结果:12**************66
String idCardStr = "120201200410282866";
String idCardStrNew = idCardStr.substring(0,2)+"**************"+idCardStr.substring(16);
2、三目运算符
boolean-exp ? value1 : value2;
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
3、字符串分割
//常规分割
String str = "apple,banana,cherry";
String[] fruits = str.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
//使用正则表达式分割,split 方法支持正则表达式,因此可以使用更复杂的分隔符。
String str = "one:two;three|four";
String[] parts = str.split("[:;|]");
for (String part : parts) {
System.out.println(part);
}
//限制分割次数,可以通过第二个参数限制分割的次数。
String str = "apple,banana,cherry,dragonfruit";
String[] fruits = str.split(",", 3);
for (String fruit : fruits) {
System.out.println(fruit);
}
//使用 String.split 方法并过滤空字符串
String str = "apple,,banana,,cherry";
String[] fruits = str.split(",");
// 使用stream API过滤掉空字符串
String[] filteredFruits = Arrays.stream(fruits)
.filter(s -> !s.isEmpty())
.toArray(String[]::new);
for (String fruit : filteredFruits) {
System.out.println(fruit);
}