Java String的常用方法
1. length()
得到字符串的长度
String str = "java";
int len = str.length(); //获取str的长度
System.out.println(len); //长度是4个字符
2. trim()
去除当前字符串两边的空白字符
String str = " hello world ";
System.out.println(str); // hello world
str = str.trim(); //去除当前字符串两边的空白字符
System.out.println(str); //输出hello world 两边没有空格
中间空格不会删除,只会删除两边的空格。
3. indexOf(String str)和lastIndexOf(String str)
indexOf(String str):检索给定字符串在当前字符串的开始位置
int lastIndexOf(String str): 检索给定字符串在当前字符串中最后一次出现的位置
// 0123456789012345
String str = "thinking in java";
int index = str.indexOf("in"); //检索in在字符串str中出现的开始位置
System.out.println(index); //2
index = str.indexOf("IN"); //当前字符串不包含给定内容IN,所以返回-1
System.out.println(index); //-1
index = str.indexOf("in",3); //从第4个字符开始找in第一次出现的位置
System.out.println(index); //5
index = str.lastIndexOf("in"); //找in最后一次出现的位置
System.out.println(index); //9
4. substring(int start,int end)
substring(int start,int end):截取当前字符串中指定范围内的字符串(含头不含尾)
// 01234567890123
String str = "www.google.com";
String name = str.substring(4,10); //截取第4个到第9个----下标
System.out.println(name); //输出google
name = str.substring(4); //从第4个一直截取到字符串末尾----下标
System.out.println(name); //输出google.com
一个有趣的例子:
如果要截取上个代码中的域名google,代码怎么写,思路是域名是在两个点之间,所以先用indexOf判断第一个点在哪里,然后再判断第一个点位置之后的第二个点在哪里,最后用substring截取
String str = "www.google.com";
int start = str .indexOf(".")+1; //4,加1目的是为了找到点后的第一个字符的位置
int end = str .indexOf(".",start); //输出10,从start往后一位找点的位置
String range= str.substring(start,end);//截取位置4到9的字符
System.out.println(range); //输出google
5. charAt()
返回当前字符串指定位置上的字符
String str = "study";
char name = str.charAt(1);
System.out.println(name);//输出是 "t"
因为study是字符串,字符串是有字符组成的,charAt说出的是字符串指定位置的字符,所以name的数据类型是字符
6. startsWith(String str)
判断当前字符串是否是以给定的字符串开始的
String str = "study in school";
boolean starts = str.startsWith("study"); //判断str是否是以study开头的
System.out.println("starts:"+starts); //输出为true
7. endsWith(String str)
判断当前字符串是否是以给定的字符串结尾的
String str = "study.png";
boolean ends = str.endsWith(".png"); //判断str是否是以.png结尾的
System.out.println("ends:"+ends); //输出true
8. toUpperCase()
将当前字符串中的英文部分转为全大写
String str = "Miss u Kobe";
String upper = str.toUpperCase(); //将str中英文部分转为全大写
System.out.println(upper); //输出是MISS U KOBE
9. toLowerCase()
将当前字符串中的英文部分转为全小写
String str = "Miss u Kobe";
String lower = str.toLowerCase(); //将str中英文部分转为全小写
System.out.println(lower); //输出是miss u kobe
10. valueOf()
String类中提供的静态方法,将其它数据类型转换为String
int number = 123;
//将int型变量number转换为String类型并赋值给s1
String s1 = String.valueOf(number);
System.out.println(s1); //输出是字符串"123"