案例:手机号屏蔽
截取函数:
String substring(int beginIndex,int endIndex)
注意点:包头不包尾,包左不包右,也就是说endIndex的值应该为我们截取的字符串的最后一位的下一个字符的索引;
只有返回值才是截取的小串,对原本字符串不影响
截取的值需要定义变量来接收;
重载方法:
String substring(int beginIndex)
截取到末尾,只需要给定开始位置
public class StringDemo {
public static void main(String[] args) {
//获取一个手机号
String phoneNumber = "13233445566";
//获取前三位;
String start = phoneNumber.substring(0,3);
//截取后四位
String end = phoneNumber.substring(7);
//拼接
String result = start + "****" + end;
//打印
System.out.println(result);
}
}
案例:身份证信息查看
生日信息,身份证倒数第二位为性别信息
将字符中的数字转为int型数据
利用‘0’- 0可以获得字符0的ASCII码为48
那么可以用身份证中的数字减去48则得到int型数字;
public class StringDemo01 {
public static void main(String[] args) {
//定义一个身份证号的数组
String id = "513030202012212719";
//获得生日信息
String year = id.substring(6,10);
String month = id.substring(10,12);
String day = id.substring(12,14);
//输出
System.out.println("人物信息为:");
System.out.println("生日为:" + year + "年" + month + "月" + day + "日");
//获得性别信息
char gender = id.charAt(16);
//转化为int型才能判断
int num = gender - 48;
//判断
if (num % 2 == 0){
System.out.println("性别为:女");
}else {
System.out.println("性别为:男");
}
}
}
案例:敏感词
replace(“ “, “ “) 将前面的字符串替换为后面的字符串
当有很多敏感词时,可以定义一个词库,遍历语句,将每一个敏感词替换;
public class StringDemo02 {
public static void main(String[] args) {
//获取话语
String talk = "真jer菜";
//替换
String result = talk.replace("jer","**");
//打印结果
System.out.println(result);
}
}
StringBuilder
案例
拼接字符串
使用StringBuilder实现,定义一个方法,将静态数组中的字符串拼接并输出;
public class StringBuliderTest01 {
public static void main(String[] args) {
//定义一个int型数组,静态初始化数组
int[] arr = {1,2,3};
String s = arrayToString(arr);
System.out.println(s);
}
//定义一个方法,将int数组中字符拼接为字符串返回
public static String arrayToString(int[] arr){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++){
if (i == arr.length-1){
sb.append(arr[i]);
}else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
String s = sb.toString();
return s;
}
}
字符串反转
定义一个方法,实现字符串反转,键盘输入字符串,调用方法后输出反转结果;
public class StriingBuilderTest02 {
public static void main(String[] args) {
//输入字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String s = sc.nextLine();
String reverse = reverseString(s);
System.out.println(reverse);
}
//定义方法,反转字符串
public static String reverseString(String s){
StringBuilder sb = new StringBuilder(s);
sb.reverse();
String ss = sb.toString();
return ss;
}
}