String类的几种常见函数
1.char类型的charAt(int index)函数
作用:返回当前字符串中给定位置对应的字符
String string = "helloworld";
char c = string.charAt(5);
System.out.println(c);
运行结果:
2.int类型的indexOf(String str)
作用:返回给定字符串在当前字符串中的位置,若当前字符串不包含该内容时返回值为-1
重载方法
indexOf(String str,int index)
可以从指定位置index开始检索,字符串第一次出现的位置
String string = "thinking in java";
int index = string.indexOf("in");
System.out.println(index);
index = string.indexOf("in",3);
System.out.println(index);
运行结果:
3.int类型的lastindexof(String str)
作用:查找最后一次出现的位置
String string = "thinking in java";
int index = string.lastIndexOf("in");
System.out.println(index);
运行结果:
4.int类型的int length()
作用:返回当前字符串的长度
String string = "我爱java!";
int len = string.length();
System.out.println(len);
运行结果:
5.boolean类型的startsWith(String str)和endWith(String str)
作用分别是:判断字符串是否以给定字符串开始或结尾
String line = "www.baidu.com";
boolean start = line.startsWith("www");
System.out.println(start);
boolean end = line.endsWith("cn");
System.out.println(end);
运行结果:
6.String类型的substring(in tstart,int end)
作用:截取当前字符串中指定范围内的子字符串两个参数为开始位置与结束位置的下标,通常JavaAPI中使用两个数字表示范围时都是"含头不含尾"的
String类型的substring(in tstart)
作用:从指定位置截取到字符串末尾
String line = "www.baidu.com";
String sub = line.substring(4, 9);
System.out.println(sub);
sub = line.substring(4);
System.out.println(sub);
运行结果:
7.String类型的toUpperCase()和toLowerCase()
作用:将当前字符串的英文部分转换为全大写或全小写
String string = "我爱Java!";
String upper = string.toUpperCase();
String loser = string.toLowerCase();
System.out.println(upper);
System.out.println(loser);
运行结果:
8.String类型的trim()
作用:去除字符串两边的空白字符
String string = " hello ";
System.out.println(string);
String trim = string.trim();
System.out.println(trim);
运行结果:
9.static String类型的valueOf(XXX xxx)
作用:String提供了一组静态的valueOf方法,可以将其他类型转换为字符串和其他类型+""作用一样,比较常用的是将基本类型转换为字符串
int a = 123;
String string = String.valueOf(a);
System.out.println(string);
string = a+"";
System.out.println(string);
运行结果:
10.String支持正则表达式方法之一:boolean matches(String regex)
使用给定的正则表达式验证当前字符串的内容是否符合格式要求,符合则返回true
/**
* email的验证:
* [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
*/
String email = "123456@qq.com";
String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
boolean matches = email.matches(regex);
if(matches) {
System.out.println(email+"是邮箱");
}else {
System.out.println(email+"不是邮箱");
}
运行结果:
11.String支持正则表达式二:String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分,将拆分后的字符串以数组形式返回
String string = "abce521aa15das4889fdafd111111111";
String[] data = string.split("[0-9]+");
System.out.println("data数组的长度为:"+data.length);
for(int i=0;i<data.length;i++) {
System.out.println(data[i]);
}
运行结果:
12.String支持正则表达式方法三:String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串
String string = "ada554d4s";
//将数组部分换成"#NUMBER#"
string=string.replaceAll("[0-9]+","#NUMBER#" );
System.out.println(string);
运行结果: