常用方法
1.charAt(int index)方法和tocharArray()方法
charAt(int index)方法:括号里传入整型参数,可以获取到该下标位置的String数组内容,通常用于遍历字符串。
tocharArray()方法:将字符串转化为char类型,再存入char类型数组,可用于遍历字符串
public class demo02 {public static void main(String[] args) {String s1="阴天傍晚车窗外"; for(int i=0;i<s1.length();i++) {char c=s1.charAt(i);System.out.println(c);}char[] array=s1.toCharArray();for(int i=0;i<array.length;i++) {char c=array[i];System.out.println(c);}}
}
2.toString()方法
toString()方法:用于将对象转换为字符串类型返回字符串本身,返回值为String类型
String uuid=UUID.randomUUID().toString();System.out.println(uuid);//运行结果:a5118571-ab76-4976-a62e-23c8dda0b882
3.length()方法
length()方法:用于返回字符串的长度,即char字符数量,返回int型数值
public class demo11 {public static void main(String[] args) {String str=new String("Happy new year");System.out.println(str.length());}
}
4.comparaTo(String anthorString) 方法
comparaTo(String anthorString) 方法:用于比较两个参数对象的大小关系,返回值为int类型
public class demo03 {public static void main(String[] args) {String s1="abdf";String s2="abf";System.out.println(s1.compareTo(s2));}
}
5.indexOf()方法
注意:若查找不到,则返回-1
方法声明 | 功能介绍 |
indexOf(int ch) | 用于查找当前参数ch指定的字符在字符串中第一次出现的下标位置 |
indexOf(int ch,int fromindex) | 用于从fromindex位置开始查找ch指定的字符在字符串中的位置 |
indexOf(String str) | 用于查找str在字符串中第一次出现的位置 |
indexOf(String str,String fromindex) | 用于从字符串的fromindex位置查找str第一次出现的下标位置 |
String s="唧唧复唧唧木兰当户织";String target="当户织";//indexOf(int ch)方法:从原字符串中返回目标字符第一次出现的下标int index2=s.indexOf("复");System.out.println(index2);//indexOf(int ch,int fromindex)用于返回从fromindex位置开始查找ch指定的字符在字符串中的位置int index4=s.indexOf("复",1);System.out.println(index4); //indexOf(String ch)方法:从原字符串中查找目标字符串int index1=s.indexOf(target);System.out.println(index1); //indexOf(String str,int fromindex)用于从fromindex位置开始查找ch指定的字符在字符串中的位置int index3=s.indexOf(target,1);System.out.println(index3);
6.lastindexOf()方法
注意:若查找不到,则返回-1
方法声明 | 功能介绍 |
lastindexOf(int ch) | 用于返回当前参数ch指定的字符在字符串中最后一次出现的下标位置 |
lastindexOf(int ch,int fromindex) | 用于从fromindex位置开始反向查找ch指定的字符在字符串中的下标位置, |
lastindexOf(String ch) | 用于返回str在字符串中最后一次出现的位置 |
lastindexOf(String ch,int fromindex) | 用于从字符串的fromindex位置反向查找str第一次出现的下标位置 |
String s="唧唧复唧唧木兰当户织";String target="当户织"; //lastindexOf(int ch)方法:从原字符串中查找目标字符,返回最后一次出现的位置int index5=s.lastIndexOf("复");System.out.println(index5);//lastindexOf(int ch,int fromindex)方法:从fromindex位置开始反向查找ch指定的字符在字符串中的下标位置int index6=s.lastIndexOf("复", 7);System.out.println(index6);//lastindexOf(String str)方法:从原字符串中查找目标字符串,返回最后一次出现的位置int index7=s.lastIndexOf(target);System.out.println(index7);//lastindexOf(String str,int fromindex)方法:从字符串的fromindex位置反向查找str第一次出现的下标位置int index8=s.lastIndexOf(target, 7); System.out.println(index8);
7.endsWich()和startsWich()方法
endsWich()方法:判断原字符串是否以目标字符串结尾,返回值为boolean
startsWich()方法:判断原字符串是否以目标字符串开始,返回值为boolean
String s="唧唧复唧唧木兰当户织";String target="当户织";//endsWich()方法:判断原字符串是否以目标字符串结尾boolean isStars=s.endsWith(target);System.out.println(isStars);//startsWich()方法:判断原字符串是否以目标字符串开始boolean isStars1=s.startsWith(target);System.out.println(isStars1);
8.replace()方法
replace()方法:用于替换字符串
String ip="127.0.0.1";//将字符串中所有“.”替换为“#”String ret=ip.replace('.', '#');//将字符串中所有“.”替换为“[#]”String ret1=ip.replace(".", "[#]");System.out.println(ret);System.out.println(ret1);String s2="a,b,c,,d.x,e,r$$ie,i";//正则表达式String ret2=s2.replaceAll("[\\,\\.\\$]+", "#");String ret3=s2.replaceAll("[\\,\\.\\$]", "#");//replaceAll用正则表达式进行匹配System.out.println(ret2);System.out.println(ret3);
运行结果:
127#0#0#1
127[#]0[#]0[#]1
a#b#c##d#x#e#r##ie#i
a#b#c#d#x#e#r#ie#i
public static void main(String[] args) {String uuid=UUID.randomUUID().toString();System.out.println(uuid);//替换字符串中所有的数字,在原有数字基础上+1StringBuilder sb=new StringBuilder(uuid);//遍历字符串for(int i=0;i<sb.length();i++) {//获取每个字符char c=sb.charAt(i);if(c>='0'&&c<='9') {int n=Integer.parseInt(String.valueOf(c));n=n+1>9?0:n+1;sb.replace(i,i+1,String.valueOf(n));}}System.out.println(sb);}
9.trim()方法
trim()方法:返回去掉前导和尾随空白的字符串,返回String类型
String s1=" abc\t\r\n";s1=s1.trim();System.out.println(s1+s1.length());
10.split(String regex()方法:
split(String regex)方法:参数为正则表达式,以regex所表达的字符串为分隔符,返回一个String[]数组
String s3="北京a上海b广州k广东o新疆l南京n苏州b常州x乌鲁木齐";String[] ret4=s3.split("[a-z]");System.out.println(Arrays.toString(ret4));//运行结果:[北京, 上海, 广州, 广东, 新疆, 南京, 苏州, 常州, 乌鲁木齐]String s4="北京0上海3广州4广东2新疆6南京7苏州8常州9乌鲁木齐";String[] ret5=s4.split("[0-9]+");System.out.println(Arrays.toString(ret5));//运行结果:[北京, 上海, 广州, 广东, 新疆, 南京, 苏州, 常州, 乌鲁木齐]
11.join(String str,String[] arr)方法
join(String str,String[] arr)方法:用于将字符串str添加入数组分隔符的位置,返回一个String类型的字符串
String[] arr1= {"西安","北京","宝鸡","渭南","上海","汉中","铜川","延安"};String ret1=String.join("$", arr1);System.out.println(ret1);//运行结果:西安$北京$宝鸡$渭南$上海$汉中$铜川$延安String ret2=String.join("$", "西安","宝鸡","渭南","汉中");System.out.println(ret2);//运行结果:西安$宝鸡$渭南$汉中
12.String字符串的format()格式化拼接
//format格式化拼接String ret3=String.format("今天下午喝%s的%s咖啡就行价值%d元","王一","库迪",15);System.out.println(ret3);//运行结果:今天下午喝王一博的库迪咖啡就行价值15元
13.contains()方法
contains()方法:判断当前字符串是否包含参数指定的内容,返回值为boolean,若存在,则返回true,不存在返回false
String str=new String("Happy new year");System.out.println(str.contains("ne"));//运行结果:true
14.subString()方法
subString()方法:用于截取字符串
方法声明 | 功能介绍 |
subString(int beginindex,int endindex) | 返回字符串从beginindex(包括)开始到endindex(不包括)的子字符串 |
subString(int beginindex) | 返回字符串从beginindex(包括)开始到结束的子字符串 |
String str=new String("Happy new year");System.out.println(str.substring(6));//运行结果:new yearSystem.out.println(str.substring(0, 5));//运行结果:Happy
15.toUpperCase()和toLowerCase()方法
toUpperCase()方法:用于将字符串转换为大写,返回String类型的值
toLowerCase()方法:用于将字符串转换为小写,返回String类型的值
public class demo11 {public static void main(String[] args) {String str=new String("Happy new year");System.out.println(str.toLowerCase());//转换为小写//运行结果:happy new yearString str1=new String("happy new year");System.out.println(str1.toUpperCase());//转换为大写//运行结果:HAPPY NEW YEAR}
}
16.equals()方法
equals()方法:用于比较字符串内容是否相等,返回值为boolean类型,若相等返回true,不相等返回false
String str=new String("Happy new year");String str2=new String("Happy");System.out.println(str.equals(str2));//返回false