String字符串的常见方法总结

本文详细介绍了Java中的字符串操作,包括遍历字符串的方式、字符串的比较(compareTo和equals的区别)、内容等值比较、查找搜索方法(indexOf、lastIndexOf、contains、startsWith、endsWith)、截取字符串、替换功能以及去除首尾空白字符。
摘要由CSDN通过智能技术生成

1.遍历字符串

public static void main(String[] args) {
		String s1="阴天傍晚车窗外";
		
		//遍历字符串
		//方式1:通过charAt()方法
		for(int i=0;i<s1.length();i++) {
			char c=s1.charAt(i);
			System.out.println(c);
		}
       System.out.println();//空格
	   //方式2:通过字符数组
       //*char[]array=s1.toCharArray();*
	char[]array=s1.toCharArray();//将字符串转换成char[]字符数组
	for(int i=0;i<array.length;i++) {
		char c=array[i];
		System.out.println(c);
	}   
  }	

运行结果:

2.字符串的比较

实现方式:String类的implements实现了Comparable接口,

 重写了compareTo()方法

 b>a ASCII码

public class Demo03 {
		public static void main(String[] args) {
			String s1="abba";
			String s2="abbb";
			System.out.println(s1.compareTo(s2));
		}

运行结果:

3.字符串的内容等值比较

重写object类的equlas()方法

	public static void main(String[] args) {
		//字符串常量池
		String s1="just so so";
		String s2="just so so";
		System.out.println(s1==s2);//比较内存地址
		System.out.println(s1.equals(s2));//比较内容
		//在堆区重新分配空间
		String s3=new String ("just so so");
		String s4=new String ("just so so");
		System.out.println(s3==s4);//比较内存地址
		System.out.println(s3.equals(s4));//比较内容
	}

运行结果:

4.字符串的查找搜索

index0f()方法: 从原字符串中查找目标字符串,返回第一次出现的位置

lastIndex0f()方法: 从原字符串中查找目标字符串,返回最后一次出现的位置

 contains()方法: 判断原字符串中是否存在目标字符串

 startsWith()方法: 判断原字符串是否以目标字符串开头

 endsWith()方法: 判断原字符串是否以目标字符串结尾

public class Demo07 {
	public static void main(String[] args) {
		String s="唧唧复唧唧木兰当户织";//原字符串
		String target="当户织";
		
		// index0f()方法: 
		//如果存在:返回该目标字符串的下标(>=0)
		//如果不存在:返回-1
		//可以把目标语句改为测试:String target="唧唧";输出0 第一个下标0
		int index=s.indexOf(target);
		System.out.println(index);
		
		// lastIndex0f()方法:
		//如果存在:返回该目标字符串的下标(>=0)
		//如果不存在:返回-1
		//可以把目标语句改为测试:String target="唧唧";输出3 第4个字下标为3
		int index1=s.lastIndexOf(target);
		System.out.println(index1);
		
		// contains()方法:
		//如果存在,则返回true  输入:唧唧
		//如果不存在,则返回false  输入:复习
		//可以把目标语句改为测试:String target="唧唧"; 存在呀~true
		boolean isContains=s.contains(target);
		System.out.println(isContains);
		
		// startwWith()方法:
		//如果开始以目标值一样,则返回true  输入:唧唧 
		//如果开始以目标值不一样,则返回false 输入:复
		boolean isStart=s.startsWith(target);
		System.out.println(isStart);
		
		// endsWith()方法: 
		//如果结尾以目标值一样,则返回true 输入:当户织
		//如果结尾以目标值不一样,则返回false  输入:唧唧
		boolean isEnd=s.endsWith(target);
		System.out.println(isEnd);	
	}

运行结果:

5.截取字符串

字符串是不可变,每次截取,都会产生一个新的字符对象,使用substring()

public static void main(String[] args) {
		//字符串是不可变
		String s="我本将心向明月";
		//每次截取,都会产生一个新的字符对象
		String ret=s.substring(4);
		System.out.println(s);//我本将心向明月
		System.out.println(ret);//向明月
	}

运行结果:

6.字符串的替换

public static void main(String[] args) {
		//替换字符串
		//ip地址无效化:"."替转换为"[.]"
		String ip="127.0.0.1...";
		
		//字符替换字符
		//String ret=ip.replace('.', '#');
		
		String ret=ip.replace(".","[.]");
		
		System.out.println("原字符串:"+ip);
		System.out.println("替换结果:"+ret);	
	}

运行结果:

7.字符串拼接

public class Demo01 {
	public static void main(String[] args) {
		//String使用+
		//String.join()/String.format()
		//StringBuileder/StringBuffer
		//StringJoiner
		
		//{"西安","宝鸡","渭南"}
		String [] cityArr={"西安","宝鸡","渭南"};
		//使用StringBuileder拼接
//		System.out.println(Arrays.toString(cityArr));
		
		//使用String.join
		String ret1=String.join(",", cityArr);
		ret1="{"+ret1+"}";
		System.out.println(ret1);
		
		//StringJoiner
		//设置分隔符
		//StringJoiner joiner=new StringJoiner(",");
		
		//设置分隔符、左右关闭符号(开始符号和结束符号)
		StringJoiner joiner=new StringJoiner(",","{","}");
		for(String city:cityArr) {
			joiner.add(String.format("\"%s\"", city));
		}
		String ret2=joiner.toString();
		System.out.println(ret2);
	}

8.去除首尾"空白字符"trim

public static void main(String[] args) {
		//空白字符串:空格 \t \n \r
		//String s=" A\tBC\t\r\n";
		String s=" ABC\t\r\n";
		//去除首尾"空白字符"trim
		s=s.trim();
		System.out.println(s);
		System.out.println(s.length());//个数的话:例如中间插入了\t,\t算一个
	}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值