字符串处理

package string;


/*
 * String是用于描述字符串事物;对外提供多个方法对字符串进行操作;
 * 
 常见的操作有:
 "abcd"
 
 
 1.获取
	1.1 字符串长度	
		int length();//数组的length是一个属性,没括号
	1.2 根据位置获取某个字符
		char charAt(int index)
	1.3 根据字符获取该字符在字符串中的位置
		int indexOf(int ch)//传的是ASCII码,返回的是ch在字符串中第一次出现的位置;
		int indexOf(int ch,int fromIndex);//从制定位置开始获取ch在字符串中的位置;
		
		int indexOf(String  str)//传的是字符串,返回的是str在字符串中第一次出现的位置;
		int indexOf(String  str,int fromIndex);//从制定位置开始获取str在字符串中的位置;
		
		int lastIndexOf(int ch);//从左往右数,但是是从右往左查找,脚标还是从左边开始0-end;
		
	1.4 int codePointAt(int index);//返回指定位置字符的ASCII码;
		
 2.判断 
 	2.1 字符串中是否包含某一个字串
 		boolean contains(CharSequence str);
 		特殊之处:indexOf(String str);可以索引str第一次出现的位置,如果返回-1,表示该str不在字符串中;
 		if(indexOf(str)!=-1)
 			return true;
 		else 
 			return false;
 		只为判断用contains,要判断+位置就用indexOf;
 			
 			
 	2.2 字符串中是否有内容//原理,判断长度是否为0;
 		boolean isEmpty();
 		
 	2.3 字符串是否是以指定内容开头
 		boolean startsWith(str);
 	
 	2.4 字符串是否以指定内容结尾
 		boolean endsWith(str);
 
 	2.5 判断字符串的内容是否相同//不忽略大小写
 		boolean equals(str);//复写了Object中的方法
 		
 	2.6 判断内容是否相同, 忽略大小写
 		boolean equalsIgnoreCase(str);
 
 
 
 3 判断
 	3.1 将字符数组转换成字符串
 		构造函数:
 			String(char[] )
 			String(char[], offset, count );//将数组的一部分转换成字符串;
 		静态方法
 			static String copyValueOf(char[])复制值
 			static String copyValueOf(char[],int offset,int count);//从offset开始取count个变为String;
 			
 			static String valueOf(char[]);
 	3.2 将字符串转换成字符数组
 		 	char[] toCharArray();//将字符串变为字符数组;
 	
 	3.3 将字节数组转换成字符串
 			String(byte[] )
 			String(byte[], offset, count );
 	
 	3.4 将字符串转换成字节数组
 			byte[] getBytes();
 			
 	3.5 将基本数据类型转换为字符串
 	
 		String valueOf(int);
 		String valueOf(double);
 		
 		效果一样:
 		String s=3+"";
 		String s=String.valueOf(3);
 	
 		字符串和字节数组在转换过程中是可以指定编码表的;
 	
 4.替换
 
 	4.1 String replace(oldchar,newchar);
 	4.2 String replace(oldStr,newStr);
 	
 	
 5.切割
 	
 	5.1 String[] split(regex);//e.g. str.split(",");
 	
 6. 子串获取
 	6.1 String substring(int index);
 		String substring(int begin_index,int end_index);
 	
 	
 7. 转换、去空格、比较
 
 		7.1 转换大小写
 			String toUpperCase();
 			String toLowerCase();
 			忽略大小写比较就是全都转换成大/小写再compare 
 		7.2 去除两端空格
 			String trim();
 		
 		
 		7.3对两个字符串进行自然顺序的比较
 			int compareTo(String)
 		
 	
 	
 	
 * 
 * 
 * */

class Sop{
	public static void print(Object obj){
		System.out.println(obj);
	}
	
	public static void printCharArray(char[] c){
		for(int i=0;i<c.length;i++){
			Sop.print(c[i]);
		}
	}
	public static void printByteArray(byte[] c){
		for(int i=0;i<c.length;i++){
			Sop.print(c[i]);
		}
	}

}






public class StringMethodDemo {
	/*
	public static void method_test(){
		String str="abcdelsdvaxtufg";
		
		Sop.print(str.length());
		//长度
		
		Sop.print(str.charAt(6));//当访问到字符串中不存在的脚标时,会发生字符串角标越界异常StringIndexOutOfBoundsException;
		//根据索引获取字符
		
		Sop.print(str.indexOf('z',3));//找不到的时候返回-1;
		//根据字符获取索引
		
		Sop.print(str.lastIndexOf('a'));
		//反向索引
	}
	*/
	
	
	/*
	public static void method_judge(){
		String s1="StringDemo.java";
		
		Sop.print(s1.isEmpty());
		
		Sop.print(s1.contains("Demo"));
		//判断文件名是否包含Demo,
		
		Sop.print(s1.startsWith("String"));
		//判断文件名是否是以String开头
		
		Sop.print(s1.endsWith(".java"));
		//判断文件名是否是java文件
		
	}
	*/
	
	
	/*
	public static void method_trans(){
		
		char[] ch=new char[]{'a','b','c','d','e','f','g','h'};
		
		
		String s1=new String(ch);
		
		Sop.print(s1);
		
		Sop.print(new String(ch,1,4));//从下标1开始转,转4个,变为字符串;
		
		
		char[] ch1=s1.toCharArray();
		byte[] by1=s1.getBytes();
		Sop.printCharArray(ch1);
		Sop.printByteArray(by1);
		
		
		
		String s2=3+"";
		String s3=""+3;
		String s4=String.valueOf(3);
		Sop.print(s2+","+s3+","+(s2==s3));
		Sop.print(s2+","+s4+","+(s2==s4));
		
	
	}
	*/
	
	
	
	/*
	public static void method_replace(){
		String str="balahamaaa";
		
		str.replace('a', 'w');//有返回值,光调用功能是没用的。
		Sop.print(str);
		Sop.print(str.replace('a', 'w'));//oldchar不存在的话,返回的还是原串;
		Sop.print(str.replace("a",""));//删除操作=w=
		Sop.print(str.replace("aa", "cc"));
	}
	*/

	
	/*
	public static void method_split(){//切割
		String s1="Tom,Jay,Lux";
		String[] sa=s1.split(",");//","作为分开的部分,其本身是拿不到的;
		Sop.print(sa[1]);
		
		
		Sop.print(s1.substring(3));//从下标为3的开始取;
		Sop.print(s1.substring(3,5));//从下标为3开始,到5之前停止;包含头不包含尾;
		Sop.print(s1.substring(3,s1.length()));
	
	}
	
	*/
	
	
	public static void method_convert(){
		String str1="acc";
		String str2="aaa";
		String str3="aab";
		String str4="aca";
		Sop.print(str1.toLowerCase());
		Sop.print(str1.toUpperCase());
		Sop.print(str1);
		
		Sop.print(str1.trim());
		Sop.print(str1.compareTo(str2));//相同返回0,str1<str2返回负数,str1>str2返回证书;按位比ASCII码,不相同的第一位str1-str2,所得的值;
		Sop.print(str1.compareTo(str3));
		Sop.print(str1.compareTo(str4));
		Sop.print(str1.compareTo(str1));
		
	}
	
	public static void main(String[] args) {
		
		method_convert();
		
		//method_split();
		
		//method_replace();
		
		//method_trans();
		
		//method_judge();
		
		//method_test();
		/*
		String s1="abc";
		String s2=new String("abc");
		String s3="abc";
		System.out.println(s1==s2);
		System.out.println(s1==s3);//s3不会再独立开辟空间,指向同一个对象;
		 */
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值