常用方法
1.charAt(int index)方法和tocharArray()方法
charAt(int index)方法:括号里传入整型参数,可以获取到该下标位置的String数组内容,通常用于遍历字符串。
tocharArray()方法:将字符串转化为char类型,再存入char类型数组,可用于遍历字符串
java
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类型
java
String uuid=UUID.randomUUID().toString();
System.out.println(uuid);
//运行结果:a5118571-ab76-4976-a62e-23c8dda0b882
3.length()方法
length()方法:用于返回字符串的长度,即char字符数量,返回int型数值
java
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类型
java
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第一次出现的下标位置 |
java
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第一次出现的下标位置 |
java
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
java
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()方法:用于替换字符串
java
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);
运行结果:
java
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
java
public static void main(String[] args) {
String uuid=UUID.randomUUID().toString();
System.out.println(uuid);
//替换字符串中所有的数字,在原有数字基础上+1
StringBuilder 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类型
java
String s1=" abc\t\r\n";
s1=s1.trim();
System.out.println(s1+s1.length());
10.split(String regex()方法:
split(String regex)方法:参数为正则表达式,以regex所表达的字符串为分隔符,返回一个String[]数组
java
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类型的字符串
java
String[] arr1= {"西安","北京","宝鸡","渭南","上海","汉中","铜川","延安"};
String ret1=String.join("$", arr1);
System.out.println(ret1);
//运行结果:西安$北京$宝鸡$渭南$上海$汉中$铜川$延安
String ret2=String.join("$", "西安","宝鸡","渭南","汉中");
System.out.println(ret2);
//运行结果:西安$宝鸡$渭南$汉中
12.String字符串的format()格式化拼接
java
//format格式化拼接
String ret3=String.format("今天下午喝%s的%s咖啡就行价值%d元","王一","库迪",15);
System.out.println(ret3);
//运行结果:今天下午喝王一博的库迪咖啡就行价值15元
13.contains()方法
contains()方法:判断当前字符串是否包含参数指定的内容,返回值为boolean,若存在,则返回true,不存在返回false
java
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(包括)开始到结束的子字符串 |
java
String str=new String("Happy new year");
System.out.println(str.substring(6));
//运行结果:new year
System.out.println(str.substring(0, 5));
//运行结果:Happy
15.toUpperCase()和toLowerCase()方法
toUpperCase()方法:用于将字符串转换为大写,返回String类型的值
toLowerCase()方法:用于将字符串转换为小写,返回String类型的值
java
public class demo11 {
public static void main(String[] args) {
String str=new String("Happy new year");
System.out.println(str.toLowerCase());//转换为小写
//运行结果:happy new year
String str1=new String("happy new year");
System.out.println(str1.toUpperCase());//转换为大写
//运行结果:HAPPY NEW YEAR
}
}
16.equals()方法
equals()方法:用于比较字符串内容是否相等,返回值为boolean类型,若相等返回true,不相等返回false
java
String str=new String("Happy new year");
String str2=new String("Happy");
System.out.println(str.equals(str2));//返回false