从实习到转正至今也有8个月了,这段时间内也一直在总结自己工作中的各种小经验,供即将从事Java开发或者正在从事Java开发的小伙伴参考,本文主要讲的是String字符串的常用方法
废话不多说,都总结在代码中了,欢迎小伙伴提出建议
//String 是不可变对象
String example = "20191110202_guangdong_student_zhangsan.txt";
/**
* 字符串基本信息获取
*/
//忽略大小写的字符串比较 true
System.out.println(example.equalsIgnoreCase("20191110202_guangdong_student_zhangsan.TXT"));
System.out.println(example.equals("20191110202_guangdong_student_zhangsan.txt")); //字符串比较 true
System.out.println(example.length()); //长度42
System.out.println("".isEmpty()); //是否是空串 true
System.out.println(example.startsWith("2")); //字符串开头是否是指定字符 true
System.out.println(example.endsWith("a")); //字符串结尾是否是指定字符 false
System.out.println(example.contains("zh")); //字符串是否包含子串 true
System.out.println("================================================");
/**
* 字符串截取1:获取时间
* 获取某字符第一次出现的位置
* indexOf("_")
* substring(0, oneIndex)
*/
int oneIndex = example.indexOf("_");
String timeString = example.substring(0, oneIndex);
System.out.println(timeString); //输出:20191110202
/**
* 字符串截取2:获取省份
* 获取某字符第二次出现的位置
* indexOf("_", oneIndex+1)
*/
int twoIndex = example.indexOf("_", oneIndex+1); //字符第二次出现的位置
String provinceString = example.substring(oneIndex+1, twoIndex);
System.out.println(provinceString); //输出:guangdong
/**
* 字符串截取3:获取姓名
* 获取某字符最后一次出现的位置
* lastIndexOf("_")
*/
int endIndex = example.lastIndexOf("_");
String temp = example.substring(endIndex+1, example.length()); //zhangsan.txt
int endIndex1 = temp.lastIndexOf(".");
String name = temp.substring(0, endIndex1);
System.out.println(name); //输出zhangsan
/**
* 字符串截取:指定位置截取至结尾
*/
System.out.println(example.substring(12)); //guangdong_student_zhangsan.txt
/**
* 字符串替换:把姓名进行更换
* replace("zhangsan", "lisi")
*/
String newExample = example.replace("zhangsan", "lisi");
System.out.println(newExample); //输出:20191110202_guangdong_student_lisi.txt
/**
* 字符串大小写转换
* toLowerCase() 转小写
* toUpperCase() 转大写
*/
System.out.println(example.toLowerCase()); //20191110202_guangdong_student_zhangsan.txt
System.out.println(example.toUpperCase()); //20191110202_GUANGDONG_STUDENT_ZHANGSAN.TXT
/**
* 字符串按照指定字符切割
* split("_") 参数是正则表达,特殊字符(* ^ : | . \)这些需要用\\转义
* .split("_", n) 第二个参数,n>0时候执行n-1次,n<0时候尽可能执行多次,n=0时候也是尽可能多次执行,但会抛弃结尾空串
*/
String s = "小明@小红*小军|小李";
String nameArray[] = s.split("@|\\*|\\|");
for(String str:nameArray){
System.out.print(str+" ");
} //小明 小红 小军 小李
String result[] = example.split("_");
for(String str:result){
System.out.print(str+" ");
} //20191110202 guangdong student zhangsan.txt
String result1[] = example.split("_", 2);
for(String str:result1){
System.out.print(str);
} //20191110202guangdong_student_zhangsan.txt
String result2[] = example.split("_", -1);
for(String str:result2){
System.out.print(str);
} //20191110202guangdongstudentzhangsan.txt