目录
四、boolean equals(object obj): 比较字符串是否相等,区分大小写
五、boolean equalsIgnoreCase(Object obj): 比较字符串是含相等,不区分大小写
六、int compareTo(String other): 比较字符大小,区分大小写,按照Unicode编码值比较大小
七、int compareToIgnoreCase(String other): 比较字符串大小,不区分大小写
八、String toLowerCase(): 将字符中中大写字母转为小写
九、string toUpperCase(): 将字符串中小写字母转为大写
十一、public string intern(): 结果在常量池中共享
十二、 boolean contains(xx): 是否包含xx
十三、int indexof(xx): 从前往后找当前字符串中xx,即如果有返回第一次出现的下标,要是没有返回-1
十四、int index0f(String str,int fromindex): 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
十五、intlastindexof(xx): 从后往前找当前字符串中xx,即如果有返回最后一次出现的下标,要是没有返回-1
十六、int lastindex0f(String str, int fromindex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
十七、String substring(int beginindex): 返回一个新的字符串,它是此字符审的从beginindex开始截取到最后的一个子字符串。
十九、 char charAt(index): 返回index]位置的字符
二十、char[] tocharArray0: 将此字符串转换为一个新的字符数组返回
二十一、static String valueof(char] data) : 返回指定数组中表示该字符序列的 string
二十二、static String valueOf(charl] data,int offset, int count) : 返回指定数组中表示该字符序列的 String
二十三、static String copyValueof(char] data): 返回指定数组中表示该字符序列的 String
二十四、static String copyValue0f(char] data, int offset, int count): 返回指定数组中表示该字符序列的 String
二十五、boolean startsWith(xx): 测试此字符串是否以指定的前缀开始
二十六、 boolean startsWith(String prefix,int tofset): 测试此字符从指定索开始的子字符串是否以指定前缀开始
二十七、boolean endsWith(xx): 测试此字符串是否以指定的后缀结束
三十、 String replaceAll(String regex, String replacement): 使用给定的 replacement 替换此字符电所有匹配给定的正则表达式的子字符串。
一、isEmpty() 判断字符串是否为空 比较变量的长度
/**
* 判断字符串是否为空 isEmpty() 比较变量的长度
*/
public static void main(String[] args) {
String str = "";
String str2 = new String("");
String str3 = new String();
System.out.println(str.isEmpty());//true
System.out.println(str2.isEmpty());//true
System.out.println(str3.isEmpty());//true
String str4 = null;
System.out.println(str4.isEmpty());//报空指针异常
}
二、int length(): 返回字符串的长度
//返回字符串的长度 返回类型 int
String str5 = "hello";
System.out.println(str5.length());
三、String concat(xx): 拼接
四、boolean equals(object obj): 比较字符串是否相等,区分大小写
五、boolean equalsIgnoreCase(Object obj): 比较字符串是含相等,不区分大小写
//Equals比较
String str = "hell";
String str2 = "Hell";
System.out.println(str.equals(str2));//false
System.out.println(str.equalsIgnoreCase(str2));//true
六、int compareTo(String other): 比较字符大小,区分大小写,按照Unicode编码值比较大小
七、int compareToIgnoreCase(String other): 比较字符串大小,不区分大小写
//compareTo
String s = "abcd";
String s2 = "abmn";
//若为负数则是后面的 s2大 若为正数则是前面的大
System.out.println(s.compareTo(s2));//-10
String s3 = "abmn";
//若为0则相等
System.out.println(s2.compareTo(s3));//0
//compareToIgnoreCase 不区分大小写相比较
String s4 = "aBcd";
System.out.println(s.compareToIgnoreCase(s4));//0
八、String toLowerCase(): 将字符中中大写字母转为小写
九、string toUpperCase(): 将字符串中小写字母转为大写
十、String trim(): 去掉字符中前后空白符
//trim 去掉前后空格
String s = " ab cd ";
System.out.println(s.trim());//ab cd
十一、public string intern(): 结果在常量池中共享
以下为查找相关的方法
十二、 boolean contains(xx): 是否包含xx
//contains 是否包含字符串
String s = "有志者事竟成";
System.out.println(s.contains("志者"));//true
十三、int indexof(xx): 从前往后找当前字符串中xx,即如果有返回第一次出现的下标,要是没有返回-1
十四、int index0f(String str,int fromindex): 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
十五、intlastindexof(xx): 从后往前找当前字符串中xx,即如果有返回最后一次出现的下标,要是没有返回-1
十六、int lastindex0f(String str, int fromindex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
//indexOf 当前字符串在s中首次出现的位置
String s = "有志者事竟成志者";
System.out.println(s.indexOf("志者"));//返回字符串的下标 返回1
System.out.println(s.indexOf("zhi"));//如果没有字符串返回-1
//从指定的索引开始找
System.out.println(s.indexOf("志者",2));//返回字符串的下标 返回6
//从后面往前面找
System.out.println(s.lastIndexOf("志者"));//返回字符串的下标 返回6
//从指定的索引开始 后面往前面找 反向搜索
System.out.println(s.lastIndexOf("志者",2));//返回字符串的下标 返回1
字符串截取
十七、String substring(int beginindex): 返回一个新的字符串,它是此字符审的从beginindex开始截取到最后的一个子字符串。
十八、String substring(int beginindex,int endindex): 返回一个新字符,它是此字符串从beginlndex开始截取到endindex(不包含)的一个子字符串。
//substring 截取
String s = "有志者事竟成志者";
System.out.println(s.substring(2));//返回下标2之后的字符串
System.out.println(s.substring(2,4));//返回下标2-4的字符串,不包括4
十九、 char charAt(index): 返回index]位置的字符
//返回指定下标的字符
String s1 = "不离不弃的默契";
System.out.println(s1.charAt(2));
二十、char[] tocharArray0: 将此字符串转换为一个新的字符数组返回
二十一、static String valueof(char] data) : 返回指定数组中表示该字符序列的 string
二十二、static String valueOf(charl] data,int offset, int count) : 返回指定数组中表示该字符序列的 String
二十三、static String copyValueof(char] data): 返回指定数组中表示该字符序列的 String
二十四、static String copyValue0f(char] data, int offset, int count): 返回指定数组中表示该字符序列的 String
String s2 = String.valueOf(new char[]{'a','b','c'});
String s3 = String.copyValueOf(new char[]{'a','b','c'});
System.out.println(s2);//abc
System.out.println(s3);//abc
System.out.println(s2 == s3);//false
开头和结尾
二十五、boolean startsWith(xx): 测试此字符串是否以指定的前缀开始
二十六、 boolean startsWith(String prefix,int tofset): 测试此字符从指定索开始的子字符串是否以指定前缀开始
二十七、boolean endsWith(xx): 测试此字符串是否以指定的后缀结束
String s1 = "不离不弃的默契";
//是否以不开头
System.out.println(s1.startsWith("不"));//true
//从下标3开始是否以不开头
System.out.println(s1.startsWith("不",3));//false
//是否以默契结尾
System.out.println(s1.endsWith("默契"));//true
替换
二十八、String replace(char oldChar, char newChar): 返回一个新的字符串,它是通过用 newChar替换此字符串中出现的所有 oldchar 得到的。不支持正则。
二十九、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符所有匹配字面值目标序列的子字符串。
三十、 String replaceAll(String regex, String replacement): 使用给定的 replacement 替换此字符电所有匹配给定的正则表达式的子字符串。
三十一、String replaceFirst(String regex, String replacement): 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String s1 = "hello";
String s2 = s1.replace("l", "w");
System.out.println(s1);
System.out.println(s2);
String s5 = s2.replaceAll("","");//填写正则表达式
以下为练习 :
1.获取一个字符串在另一个字符串中出现的次数
public static void main(String[] args) {
String str = "abskkabkkkabifjab";
String subStr = "ab";
int count = 0;
if(str.length()>subStr.length()){
int index = str.indexOf(subStr);
while(index>=0){
count++;
index = str.indexOf(subStr,index+subStr.length());
}
}
System.out.println(count);
}