思维导图透视
判断字符串的开始与结尾
String类的startsWith()与endsWith()方法分别用于判断字符串是否以指定的内容开始和结尾,它们的返回值都为boolean类型。
(1)startsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串开始。
str.startsWith(String prefix)
prefix:指作为前缀的字符。
返回值:返回boolean类型。
//判断字符串开始 System.out.println("是否以“字符串1”字开头="+str1.startsWith("字符串1")); System.out.println("是否以“字符串”字开头="+(str.indexOf("字符串")==0));
(2)endsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串结尾。
str.endsWith(String suffix)
suffix:指作为后缀的字符串。
返回值:返回boolean类型。
//判断字符串结束 str="字符串常量字符串常量"; System.out.println("是否以“常量”结束="+(str.endsWith("常量"))); //查找法 System.out.println("是否以“常量”结束="+(str.lastIndexOf("常量")==(str.length()-2)));
截取的方法
截取字符串
只传递开始位置索引
从开始到结束,包含开始索引位置的字符
//截取的方法 //截取字符串 //只传递开始位置索引 //从开始到结束,包含开始索引位置的字符 System.out.println("截取1="+str.substring(1));
传递开始和结束位置索引
不包含结束位置的字符
截取字符的个数=结束位置索引-开始位置索引
结束位置索引>=开始位置索引
结束位置索引<=字符串长度
//传递开始和结束位置索引 //不包含结束位置的字符 //截取字符的个数=结束位置索引-开始位置索引 //结束位置索引>=开始位置索引 //结束位置索引<=字符串长度 System.out.println("截取3,5="+str.substring(3, 5)); System.out.println("截取3,5="+str.substring(3, 10));
去除字符串中的空格
去掉字符串中的空格有两种,一种是去除字符串的前导、尾部空格,二是去除字符串中的多有空格,可以用不同的方法来实现。
1.去除字符串的前导、尾部空格
trim()方法用于去除字符串的前导、尾部空格。
str.trim()
str:任意的字符串对象。
返回值:去除前导和尾部空格后的字符串。
//去前后空格 str1=" 张 三 "; System.out.println("去前后空格="+str1.trim());
结果显示此方法去除了字符串前导空格和尾部空格,而中间的一个空格并没有去除。
2.去除字符串中的所有空格
去除字符串中多有空格可以用replace方法来实现。
该方法是将空格" "用""替换,以达到去除字符串中空格的目的。
str1=" 张 三 "; System.out.println("去空格="+str1.replace(" ", ""));
字符串替换
字符串替换就是新字符串替换掉原字符串中指定位置的字符串,生成一个新的字符串,通过replace()和replaceFirst()等方法可以实现。
1.replace()方法
该方法用于替换所有与指定字符串相匹配的字符串。
str.replace(String regex,String replacement)
regex:str中想要被替换的字符串。
replacement:新字符串,用来替换每个regex。
返回值:返回替换后的字符串。
//查找替换 str="字符串常量字符串常量"; System.out.println("查找替换="+str.replace("常量", "变量")); System.out.println("str="+str);
2.replaceFirst()
该方法用于替换第一个出现的指定字符串,而后面出现的指定字符串则不会被替换。
str.replaceFirst(String regex,String replacement)
regex:str中想要被替换的字符串。
replacement:新字符串,用来替换第一个regex。
返回值:返回替换后的字符串。
//值替换第一个 str="字符串常量字符串常量"; System.out.println("查找替换="+str.replaceFirst("常量", "变量")); //replaceFirst(正则表达式,"替换的内容") str.replaceAll("正则表达式", "");
注意:要替换的字符regex的大小写有严格的要求,需要和原字符串保持一致,否则将不能成功替换。
字母大小写转换
String类提供了字母大小写转换的方法,即toLowerCase()和toUpperCase()方法。
1.toLowerCase()方法
该方法将字符串中的大写字母转换为小写字母,如果原来就是小写字母,则不改变,最后返回一个新的字符串,字符长度与原字符长度相同。
str.toLowerCase()
str:要进行转换的字符串。
返回值:全换成小写后的字符串。
2.toUpperCase()方法
该方法将字符串中的小写字母转换为大写字母,如果原来就是大写字母,则不改变,最后返回一个新的字符串,字符长度与元字符长度相同。
str.toUpperCase()
str:要进行转换的字符串。
返回值:全换成大写厚的字符串。
//大小写转换,只对英文字母有效果 str1="abcdeGGhhUBHH"; System.out.println("转成大写:"+str1.toUpperCase()); System.out.println("转成小写:"+str1.toLowerCase());
说明: 使用toLowerCase()和toUpperCase()方法进行大小写转换时,数字或非字符不受影响,只对英文字母有效果。
字符串分割
split()方法根据指定的分隔符对字符串进行分割,并将分割后的结果存放在字符串数组中。split()方法提供了两种重在形式。
1.split(String sign)方法
该方法根据指定的分隔符对字符串进行完全分割。
str.split(String sign)
sign:分割字符串的分隔符,也可以使用正则表达式。
返回值:根据分隔符分割后的字符串。
//字符串分隔 str2="姓名~21~男~地址~123456"; String[]a=str2.split("~"); int i=1; for(String t:a) { System.out.print(i+": "+t); i++; }