“这是我参与8月更文挑战的第7天,活动详情查看: 8月更文挑战”
这期我们继续学习String类的方法。
字符串的截取方法substring
substring有两个重载方法,分别含有一个参数和两个参数。
- public String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
- public String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。 (需要注意的是:取左边边界值,不取右边边界值)
来看一下具体使用:
String str1 = "HelloJava";
String str2 = str1.substring(5);
String str3 = str1.substring(0,5);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
从结果我们看出,str1使用了substring方法后本身并没有发生改变,而含两个参数的substring方法也是从左边开始取,右边不取。
字符串转换相关方法
toCharArray()
- toCharArray public char[] toCharArray() 将此字符串转换为一个新的字符数组。
getBytes()
- public byte[] getBytes() 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
replace()
- public String replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。该替换从字符串的开头朝末尾执行
来看三个方法的具体实现:
String str1 = "HelloJava";
char[] chars = str1.toCharArray();
byte[] bytes = str1.getBytes();
String replace = str1.replace("Java", "Wrold!");
System.out.println(chars);
for (byte aByte : bytes) {
System.out.print(aByte+" ");
}
System.out.println();
System.out.println(replace);
System.out.println(str1);
从结果上我们可以看出各种方法的作用,并且对于这三种方法,str1始终没有变化。
字符串分割方法
split()
split 有两个重载方法,分别含有一个参数和两个参数。
-
public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。
-
public String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。 limit 参数控制模式应用的次数。
-
如果该限制 n 大于 0,则模式将被最多应用 n - 1 次。
-
如果 n 为非正,那么模式将被应用尽可能多的次数。
-
如果 n 为 0,那么模式将被应用尽可能多的次数,并且结尾空字符串将被丢弃。
来看具体实例:
String str1 = "Hello,Java,World";
String[] split = str1.split(",");
String[] split1 = str1.split(",", 0);
String[] split2 = str1.split(",", 1);
String[] split3 = str1.split(",", -2);
大家可以根据结果来体会具体用法。
写在最后
好了,String类咱们就学习到这里了,用了四篇来讲String类,就是希望大家能够深入理解并使用,如有错误,欢迎掘友们指正,一起学习成长,喜欢别忘了给个赞哦。