1.判断字符串的开始与结尾
String类的startsWith()与endsWith()方法分别用于判断字符串是否以指定的内容开始和结尾,他们的返回值都为boolean类型。
(1)startsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串开始。
词法格式为: str.startsWith(String prefix)
prefix:指作为前缀的字符;
返回值:返回boolean类型。
1 String str="字符串常量字符串常量"; 2 //判断字符串开始 3 4 System.out.println(" 是否已“字符串1”开头="+str.startsWith("字符串1")); 5 6 7 System.out.println(" 是否已“字符串”开头="+(str.indexOf("字符串")==0));
(2)endsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串结尾。
词法格式为: str.endsWith(String prefix)
prefix:指作为后缀的字符;
返回值:返回boolean类型。
String str="字符串常量字符串常量"; //判断字符串结束 System.out.println(" 是否已“常量”结束="+str.endsWith("常量")); //查找法 System.out.println(" 自己实现 是否已“常量”结束="+(str.lastIndexOf("常量")==(str.length()-2)));
2.字符串的截取
(1)substring(开始位置索引)
只传递开始位置;从开始位置到字符串结束,包含开始索引位置的字符。
1 String str="字符串常量字符串常量"; 2 System.out.println(" 截取1="+str.substring(1));
(2)substring(开始位置索引,结束位置索引)
传递开始和结束位置索引;不包含结束位置的字符;截取字符的个数=结束位置索引-开始位置索引;结束位置索引>=开始位置索引;结束位置索引<=字符串长度。
1 String str="字符串常量字符串常量"; 2 System.out.println(" 截取3,5="+str.substring(3,5));
3.去除字符串中的空格
去掉字符串中的空格有两种,一是去除字符串的前导、尾部空格,二是去除字符串中的所有空格。
(1)去除字符串的前导、尾部空格
trim()方法用于去除字符串的前导、尾部空格。
词法格式为: str.trim()
str:任意的字符串对象;
返回值:去除前导和尾部空格后的字符串。
1 String str1=" 安 然 "; 2 3 System.out.println("去前后空格="+str1.trim());
(2)去除字符串中的所有空格
replace()方法和replaceAll()方法
该方法是将空格“ ”用“”替换,以达到去除字符串中空格的目的。
词法格式为: str. replace(String regex,String replacement)
str. replaceAll(String regex,String replacement)
str:要去除空格的字符串;
regex:str中想要被替换的字符串;
replacement:新字符串,用来替换每个regex;
返回值:去掉所有空格后的字符串。
1 String str1=" 安 然 "; 2 3 4 System.out.println("去空格="+str1.replace(" ","")); 5 6 System.out.println("去空格="+str1.replaceAll(" ",""));
4.字符串替换
字符串替换就是新字符串替换掉原字符串中指定位置的字符串,生成一个新的字符串,通过replace()和replaceFirst()等方法可以实现。
(1)replace()方法
该方法用于替换所有与指定字符串相匹配的字符串。
语法格式: str. replace(String regex,String replacement)
regex:str中想要被替换的字符串;
replacement:新字符串,用来替换每个regex;
返回值:返回替换后的字符串。
1 str="字符串常量字符串常量"; 2 3 System.out.println("查找替换="+str.replace("常量","变量")); 4 5 System.out.println("str="+str);
(2)replaceFirst()方法
该方法用于替换第一个出现的指定字符串,而后面出现的指定字符串则不会被替换。
语法格式: str. replaceFirst(String regex,String replacement)
regex:str中想要被替换的字符串;
replacement:新字符串,用来替换第一个regex;
返回值:返回替换后的字符串。
1 str="字符串常量字符串常量"; 2 //只替换第一个 3 System.out.println("查找替换="+str.replaceFirst("常量","变量"));
5.字母大小写转换
String类提供了字母大小写转换的方法,即toLowerCase()和toUpperCase()方法。
(1)toLowerCase()方法
该方法将字符串中的大写字母转换为小写字母,如果原来就是小写,则不改变,最后返回一个新的字符串,字符长度跟原字符长度相同。
词法格式: str.toLowerCase()
str:要进行转换的字符串;
返回值:全换成小写后的字符串。
(2)toUpperCase()方法
该方法将字符串中的小写字母转换为大写字母,如果原来就是大写,则不改变,最后返回一个新的字符串,字符长度跟原字符长度相同。
词法格式: str.toUpperCase()
str:要进行转换的字符串;
返回值:全换成大写后的字符串。
1 String str1="abcdeGGGGGGHHHOO"; 2 3 System.out.println("转成大写:"+str1.toUpperCase()); 4 5 System.out.println("转成小写:"+str1.toLowerCase());
注:大小写转换,只对英文字母有效果。
6.字符串的分割
split()方法根据指定的分割符对字符串进行分割,并将分割后的结果存放在字符串数组中。
split()方法
该方法根据指定的分割符对字符串进行完全分割。
词法格式: str. split(String sign)
sign:分割字符串的分割符,也可以使用正则表达式。
返回值:根据分隔符分隔后的字符。
1 String str2="姓名~21~男~地址~123456"; 2 3 String[] a=str2.split("~"); 4 5 int i=1; 6 7 for(String t:a) 8 { 9 System.out.println(i+": "+t); 10 11 i++; 12 }
实战演练
1.在项目中创建Number类,判断字符串“mingrikejijavabu”中字符'i'出现了几次,并将答案输出。
1 String str="mingrikejijavabu"; 2 int j=0; 3 char[]a=new char[str.length()]; 4 for(int i=0;i<=str.length()-1;i++){ 5 a[i]=str.charAt(i); 6 if(a[i]=='i'){ 7 j++; 8 } 9 } 10 System.out.println(j);
2.用if与for去除空格。
1 String str=" m yh o m e"; 2 char []a=new char[str.length()]; 3 int j=0; 4 5 for(int i=0;i<=str.length()-1;i++) 6 { 7 8 if(str.charAt(i)!=' ') 9 { 10 a[j]=str.charAt(i); 11 j++; 12 } 13 } 14 String b=new String(a); 15 System.out.println(b);