Java 字符串截取的实例详解
在 Java 中,字符串截取是一个很常见的操作,它可以通过字符串的索引来实现。本篇文章将详细讲解 Java 字符串截取的实现方法和相关注意事项。
常用的方法
Java 字符串的截取可以使用 String 类的 substring() 方法,它有两个重载版本,分别是:
public String substring(int beginIndex) // 截取从 beginIndex 开始到最后的所有字符串
public String substring(int beginIndex, int endIndex) // 截取从 beginIndex 开始到 endIndex 的字符串,不包含 endIndex 这个位置上的字符
下面是示例代码:
String str = "hello, world!";
String sub1 = str.substring(7); // 从第 8 个字符(W)开始截取
String sub2 = str.substring(0, 5); // 截取到第 6 个字符(,)之前的字符
System.out.println("sub1:" + sub1);
System.out.println("sub2:" + sub2);
输出结果:
sub1:world!
sub2:hello
注意事项
- 字符串的索引是从 0 开始的
在 Java 中,字符串的索引是从 0 开始的,即第一个字符的索引为 0,第二个字符的索引为 1,依此类推。需要注意的是,如果使用了负数或大于等于字符串长度的索引,都会导致程序抛出 IndexOutOfBoundsException 异常。
- endIndex 参数不包含在截取的字符串中
在使用 substring() 方法时,需要注意 endIndex 参数指定的字符不会包含在截取的结果中,例如上面示例代码中的 sub2 变量,截取的实际是从第 0 个字符(h)开始到第 5 个字符(,)之前的字符串。
- String 对象是不可变的
无论使用何种方式截取字符串,都不会修改原始的 String 对象,而是返回一个新的字符串对象。因为 String 对象是不可变的,一旦创建就不能再修改。这意味着,不能通过修改原始字符串来实现删除、添加或替换字符等操作,而只能通过创建新的字符串对象来得到新的字符串。
示例说明
示例 1
在下面的示例代码中,使用 substring() 方法截取了 “Java 编程入门到放弃”的两个子字符串,分别是 “Java” 和 “放弃”,并将其打印输出。
String str = "Java 编程入门到放弃";
String sub1 = str.substring(0, 4);
String sub2 = str.substring(8, 10) + str.substring(11, 13);
System.out.println("sub1:" + sub1);
System.out.println("sub2:" + sub2);
输出结果:
sub1:Java
sub2:放弃
示例 2
在下面的示例代码中,使用 substring() 方法截取了指定字符串中的所有数字字符,并将其打印输出。
String str = "hello 123 world 456!";
String sub = "";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) {
sub += c;
}
}
System.out.println("sub:" + sub);
输出结果:
sub:123456
注意,以上示例中采用了字符串拼接的方式实现了字符串的动态添加,这是一种消耗时间和内存的方法,对于大量的字符串操作不建议使用。可以使用 StringBuilder 或 StringBuffer 类来代替,这两个类是可变的字符串对象,更加适合频繁修改字符串的场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 字符串截取的实例详解 - Python技术站