Java开发

Java 字符串截取详细说明

2025-02-05 32 0

简介 Java 对字符串截取的详细说明

在Java中,字符串截取主要通过 substring() 方法实现。字符串的索引从 0 开始,截取操作会返回新字符串(原始字符串不可变)。以下是详细说明和示例:


方法一:substring(int beginIndex)

截取从 beginIndex 开始到字符串末尾的部分。

  • 参数beginIndex(起始索引,包含该字符)

  • 注意:若 beginIndex < 0>= 字符串长度,抛出 StringIndexOutOfBoundsException

示例

String str = "Hello, World!";
String sub1 = str.substring(7); 
// 从索引7开始到末尾System.out.println(sub1); 
// 输出: World!

方法二:substring(int beginIndex, int endIndex)

截取从 beginIndexendIndex - 1 的子字符串。

  • 参数

    • beginIndex(起始索引,包含)

    • endIndex(结束索引,不包含)

  • 注意

    • beginIndex > endIndex 或索引越界,抛出异常。

    • 有效范围:0 ≤ beginIndex ≤ endIndex ≤ 字符串长度

示例


String str = "Hello, World!";
String sub2 = str.substring(0, 5); // 截取索引0到4System.out.println(sub2); 
// 输出: HelloString 
sub3 = str.substring(7, 12); 
// 截取索引7到11System.out.println(sub3); 
// 输出: World

常见错误及处理

  1. 索引越界


  2. String str = "Java";str.substring(5); // 抛出 StringIndexOutOfBoundsException

    处理方式:检查参数有效性。


  3. if (beginIndex >= 0 && beginIndex <= str.length()) {
        // 安全截取
        }
  4. 动态截取:结合 indexOf() 定位字符。


  5. String email = "user@example.com";
  6. int atIndex = email.indexOf('@');
  7. String username = email.substring(0, atIndex);
  8. System.out.println(username); // 输出: user

其他截取技巧

  • 去除首尾空格trim()


  • String str = "   Java   ";
  • String trimmed = str.trim(); // "Java"
  • 按分隔符分割split()


  • String data = "apple,banana,orange";String[] fruits = data.split(",");
  •  // ["apple", "banana", "orange"]

总结

方法参数返回值异常
substring(beginIndex)beginIndex从起始索引到末尾beginIndex 越界时抛出异常
substring(beginIndex, endIndex)beginIndex, endIndex从起始到结束索引前一位参数不合法时抛出异常

最佳实践:始终验证索引范围,避免异常。根据需求灵活组合 substringindexOf 等方法实现复杂截取逻辑。


点赞 0

我的名片

网名:梦宇信息技术

职业:软件开发、Mes系统工程师

现居:福建省-福州市

QQ:703159

站点信息

  • 联系QQ:703159
  • 文章统计97篇文章
  • 标签总数6
  • 加我微信:扫码,加我微信