Java-String字符串的常见方法总结

常用方法

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
相关推荐
paopaokaka_luck3 分钟前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
奋飞安全10 分钟前
初试js反混淆
开发语言·javascript·ecmascript
guoruijun_2012_410 分钟前
fastadmin多个表crud连表操作步骤
android·java·开发语言
浪里个浪的102413 分钟前
【C语言】计算3x3矩阵每行的最大值并存入第四列
c语言·开发语言·矩阵
@东辰20 分钟前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
Hello-Brand21 分钟前
Java核心知识体系10-线程管理
java·高并发·多线程·并发·多线程模型·线程管理
乐悠小码26 分钟前
数据结构------队列(Java语言描述)
java·开发语言·数据结构·链表·队列
史努比.28 分钟前
Pod控制器
java·开发语言
2的n次方_31 分钟前
二维费用背包问题
java·算法·动态规划
皮皮林55131 分钟前
警惕!List.of() vs Arrays.asList():这些隐藏差异可能让你的代码崩溃!
java