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不会再独立开辟空间,指向同一个对象;
*/
}
}
字符串处理
最新推荐文章于 2020-10-15 22:36:11 发布