Java String操作详解:substring与split方法

版权申诉
0 下载量 157 浏览量 更新于2024-08-26 收藏 95KB PDF 举报
"java String处理(csdn)————程序.pdf" 这篇文档主要讲解了Java中的String类处理,包括substring方法、split方法以及split方法中limit参数的用法。以下是详细的解释: 1. **substring方法**:substring方法用于从一个字符串中截取子字符串。它有两个重载版本: - `substring(int beginIndex)`: 从指定的开始下标(包含)截取到字符串末尾。 - `substring(int beginIndex, int endIndex)`: 从开始下标(包含)截取到结束下标(不包含)。注意,如果下标越界或相同,会抛出异常。 在示例代码中,`s1.substring(1)`截取了从第二个字符开始到末尾的所有字符,而`s1.substring(2, 4)`则截取了从第三个字符到第四个字符(不包含第四个字符)的子串。 2. **split方法**:split方法用于根据给定的正则表达式将字符串分割成多个子字符串,并返回一个字符串数组。它的一个重要参数是`limit`,用于控制分割的次数和结果数组的长度。 - `split(String regex)`: 使用给定的正则表达式进行分割,返回所有匹配的结果。 - `split(String regex, int limit)`: 除了正则表达式外,还添加了一个限制参数,影响结果数组的长度和内容。 在示例中,`s1.split(":")`将字符串s1按":"分割,得到一个包含所有子串的数组。而`s1.split("%")`由于没有匹配的字符,返回的数组长度为1,包含原始字符串。 3. **split方法的limit参数**:limit参数的含义非常关键,它决定了分割后的结果数组的长度和内容: - 如果`limit > 0`,模式最多应用`limit - 1`次,数组长度不超过`limit`,并且最后一个元素包含最后一个匹配的分隔符之后的所有内容。 - 如果`limit <= 0`,模式将尽可能多地应用,数组可以有任意长度,且会删除尾部的空字符串。 文档中给出了几个例子来解释limit参数的不同效果,比如当limit为2时,只进行一次分割;为5时,进行四次分割,因为结果数组长度不会超过5;为-2时,也进行四次分割,但数组长度不受限制,所有空字符串都会保留;为0时,同样会进行多次分割,但会忽略所有尾部的空字符串。 通过这篇文档的学习,我们可以更深入地理解Java中String对象的处理方式,特别是在处理子串和分割字符串时如何灵活运用substring和split方法,以及如何通过limit参数控制分割结果。这对于日常编程和处理字符串数据非常有用。