`
coding1688
  • 浏览: 237522 次
  • 来自: 上海
社区版块
存档分类
最新评论

关于String.substring方法

阅读更多

关于String.substring方法

该方法的签名为

String substring(int beginIndex, int endIndex)

 

结合javadoc和源代码,对该方法进行分析:

 

根据beginIndex与0或count的比较、beginIndex与endIndex的比较、endIndex与字符串长度count的比较,有几种情况:

 

 

 

# beginIndex与0比较 beginIndex与endIndex比较 endIndex与count比较 结果
1 <0 IndexOutOfBoundsException
2 =0 < < 子串
3 < = String对象本身
4 < > IndexOutOfBoundsException
5 = ""  空串
6
> IndexOutOfBoundsException
7 >0 & <count < < 子串
8 < = 子串
9 < > IndexOutOfBoundsException
10 = "" 空串
11 > IndexOutOfBoundsException
12 =count < IndexOutOfBoundsException
13 = "" 空串
14 > IndexOutOfBoundsException
15 >count IndexOutOfBoundsException

 

上面的表格列出的情况多达15种,可见要对代码进行覆盖性测试确实是非常困难的。

 


jdk6中String.substring的文档 写道
public String substring(int beginIndex)
Returns a new string that is a substring of this string. The substring begins with the character at the specified index and extends to the end of this string.

Examples:

 "unhappy".substring(2) returns "happy"
 "Harbison".substring(3) returns "bison"
 "emptiness".substring(9) returns "" (an empty string)
 

 

Parameters:
beginIndex - the beginning index, inclusive.
Returns:
the specified substring.
Throws:
IndexOutOfBoundsException - if beginIndex is negative or larger than the length of this String object.


 

public String substring(int beginIndex,
                        int endIndex)
Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.

Examples:

 "hamburger".substring(4, 8) returns "urge"
 "smiles".substring(1, 5) returns "mile"
 

 

Parameters:
beginIndex - the beginning index, inclusive.
endIndex - the ending index, exclusive.
Returns:
the specified substring.
Throws:
IndexOutOfBoundsException - if the beginIndex is negative, or endIndex is larger than the length of this String object, or beginIndex is larger than endIndex.
 

PS:iteye的表格编辑实在很困难,望高人指点。

 

2
2
分享到:
评论

相关推荐

    Arduino项目开发 Strings_StringSubstring_StringSubstring.pdf

    `String`类是Arduino库提供的一种用于处理文本数据的数据类型,它提供了许多有用的方法,其中之一就是`substring()`。在本教程中,我们将深入探讨如何使用`substring()`方法来提取`String`对象中的子串。 `...

    js中substring和substr两者区别和使用方法.docx

    String.substr() 方法也用于抽取一个子串,但是它和 String.substring() 有所不同。其用法如下: `string.substr(start, length)` 其中,`start` 指代截取子串的开头下标,`length` 指代截取子串的长度(可省略)...

    String 截取字符串方法subString()

    【String的substring方法详解】 在Java编程语言中,`String`类提供了多种方法来操作字符串,其中`substring()`方法用于截取字符串中的某一部分。它有两种重载形式,分别是单参数和双参数。 1. **单参数substring...

    C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

    ### C#中String类的方法详解:IndexOf、LastIndexOf与Substring #### 一、String.IndexOf 方法 **概述** `String.IndexOf` 方法用于查找指定字符或字符串首次出现的位置。该方法非常实用,在处理文本数据时经常被...

    浅谈Java的String中的subString()方法

    在处理字符串时,我们经常需要从一个长字符串中提取出一部分子串,这时`String` 的 `substring()` 方法就显得尤为重要。本文将深入探讨`substring()` 方法的用法和注意事项。 `substring()` 方法有两种重载形式,一...

    字符串string.zip

    它们由`java.lang.String`类表示,提供了丰富的操作方法,如`length()`用于获取字符串长度,`charAt(int index)`用于访问特定位置的字符,以及`substring(int beginIndex, int endIndex)`用于截取子字符串。...

    了解String.substring的原理

    `substring`方法是`String`类的一个重要成员,用于从原始字符串中截取一部分形成新的字符串。理解`substring`的工作原理对于编写高效且无内存泄漏的代码至关重要。 1. **String对象放入常量池的时机** 在Java中,`...

    js中位数不足自动补位扩展padLeft、padRight实现代码.docx

    下面将详细介绍三种实现方法:自定义函数实现、String 方法扩展和原理同方法二的实现。 方法一:自定义函数实现 通过自定义函数 FillZero,可以实现位数不足自动补位扩展。例如: ``` function FillZero(p) { ...

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...

    高效的忽略大小写的字符串替换(Replace)函数[定义].pdf

    然而,在数量少的情况下,StringBuilder累加方法比String.SubString()循环方法慢,但超过一定数量后,StringBuilder累加方法将变得更快。 5. Microsoft.VisualBasic.DLL中的Strings.Replace方法 Microsoft.Visual...

    Java的 String 类常用方法大全

    Java 中的 String 类提供了 substring 方法来截取字符串。 1. substring(int startIndex) 方法 substring 方法从 startIndex 开始截取字符串到结尾。如: String string1 = "1234567"; String result1 = string1....

    C# String 查找

    string value = textBox1.Text.Substring(index, 9); // 提取匹配项 str = str.Substring(index + 9, str.Length - index - 9); // 更新字符串 // 检查是否继续循环 index = str.IndexOf("DD11EF"); if (index ...

    BitmapDemo

    String ared=ahx.substring(0, 2); String bred=bhx.substring(0, 2); String agreen=ahx.substring(2, 4); String bgreen=bhx.substring(2,4); String ablue=ahx.substring(4, 6); String bblue=ahx....

    C#中String类常用方法汇总

    以下是对C#中String类常用方法的详细解释和示例: 1. `.ToLower()` 和 `.ToUpper()` 这两个方法用于将字符串转换为小写或大写形式,方便进行大小写的统一处理。 ```csharp string str = "AbC"; string lowerStr...

    matlab开发-未经许可的Javascriptstring.zip.zip

    这个"matlab开发-未经许可的Javascriptstring.zip.zip"文件可能包含了关于如何在MATLAB中使用JavaScript字符串处理技术的相关资料,尽管它提及“未经许可”,这可能意味着其中的内容可能是版权保护或者非官方的教程...

    power-split:有时string.split()还不够!

    它提供了一些实用程序方法来解决一些用例,而这些用例String.split()调用将无法解决。它能做什么? 使用正则表达式分割字符串,非常明显! 参见PowerSplit.split() 使用正则表达式分割字符串,以提供有关每个元素的...

    加密和解密

    java加密和解密 function encrypt(str, pwd) { if(pwd == null || pwd.length ) { ... enc_str += String.fromCharCode(enc_chr); prand = (mult * prand + incr) % modu; } return enc_str; }

    Js中的substring,substr与C#中的Substring比较

    Js的substring和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的使用方法却有很大的不同,下边我们来比较看看: Js的substring 语法: 程序代码String.substring(start, end) 说明:返回一个从...

    api_String.zip_brain2bi_java

    4. **子串提取**:`substring(int beginIndex, int endIndex)`方法用于截取字符串的一部分。 5. **查找与替换**:`indexOf(String str)`和`lastIndexOf(String str)`分别用于查找子串首次出现和最后一次出现的位置。...

    LINQ to SQL语句(15)之String

    - **切片**:`string.Substring()`方法允许我们提取字符串的一部分,如`var slice = "HelloWorld".Substring(0, 5);` - **索引查找**:`string.IndexOf()`或`string.LastIndexOf()`用于找到子串在主字符串中的位置...

Global site tag (gtag.js) - Google Analytics