Java中截取子字符串常用String类的substring()方法,提供两种重载形式:从指定索引到末尾,或指定起止索引(左闭右开)。2. 该方法不修改原字符串,返回新字符串,索引从0开始。3. 需注意索引越界会抛出StringIndexOutOfBoundsException异常,beginIndex不能大于endIndex且均不能为负。4. 结合indexOf、lastIndexOf等方法可动态截取,如提取URL域名。5. 若beginIndex等于endIndex,返回空字符串。掌握其用法和边界情况可满足大多数字符串截取需求。
在Java中截取子字符串,最常用的方法是使用String类的substring()方法。这个方法允许你从一个字符串中提取指定范围内的字符,生成新的字符串。
String类提供了两个重载版本的substring方法:

注意:字符串索引从0开始,且substring不会修改原字符串,而是返回一个新的字符串。
示例代码:
String str = "Hello, World!";
String sub1 = str.substring(7); // 结果:"World!"
String sub2 = str.substring(0, 5); // 结果:"Hello"
使用substring时需要注意以下几点:
实际开发中,常常配合indexOf、lastIndexOf等方法来动态确定截取位置。
例如:提取URL中的域名
String url = "https://www.example.com/path";
int start = url.indexOf("://") + 3; // 找到协议后的起始位置
int end = url.indexOf("/", start); // 找到路径开始的位置
String domain = url.substring(start, end); // 结果:"www.example.com"