关于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的表格编辑实在很困难,望高人指点。
分享到:
相关推荐
`String`类是Arduino库提供的一种用于处理文本数据的数据类型,它提供了许多有用的方法,其中之一就是`substring()`。在本教程中,我们将深入探讨如何使用`substring()`方法来提取`String`对象中的子串。 `...
String.substr() 方法也用于抽取一个子串,但是它和 String.substring() 有所不同。其用法如下: `string.substr(start, length)` 其中,`start` 指代截取子串的开头下标,`length` 指代截取子串的长度(可省略)...
【String的substring方法详解】 在Java编程语言中,`String`类提供了多种方法来操作字符串,其中`substring()`方法用于截取字符串中的某一部分。它有两种重载形式,分别是单参数和双参数。 1. **单参数substring...
### C#中String类的方法详解:IndexOf、LastIndexOf与Substring #### 一、String.IndexOf 方法 **概述** `String.IndexOf` 方法用于查找指定字符或字符串首次出现的位置。该方法非常实用,在处理文本数据时经常被...
在处理字符串时,我们经常需要从一个长字符串中提取出一部分子串,这时`String` 的 `substring()` 方法就显得尤为重要。本文将深入探讨`substring()` 方法的用法和注意事项。 `substring()` 方法有两种重载形式,一...
它们由`java.lang.String`类表示,提供了丰富的操作方法,如`length()`用于获取字符串长度,`charAt(int index)`用于访问特定位置的字符,以及`substring(int beginIndex, int endIndex)`用于截取子字符串。...
`substring`方法是`String`类的一个重要成员,用于从原始字符串中截取一部分形成新的字符串。理解`substring`的工作原理对于编写高效且无内存泄漏的代码至关重要。 1. **String对象放入常量池的时机** 在Java中,`...
下面将详细介绍三种实现方法:自定义函数实现、String 方法扩展和原理同方法二的实现。 方法一:自定义函数实现 通过自定义函数 FillZero,可以实现位数不足自动补位扩展。例如: ``` function FillZero(p) { ...
实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...
然而,在数量少的情况下,StringBuilder累加方法比String.SubString()循环方法慢,但超过一定数量后,StringBuilder累加方法将变得更快。 5. Microsoft.VisualBasic.DLL中的Strings.Replace方法 Microsoft.Visual...
Java 中的 String 类提供了 substring 方法来截取字符串。 1. substring(int startIndex) 方法 substring 方法从 startIndex 开始截取字符串到结尾。如: String string1 = "1234567"; String result1 = string1....
string value = textBox1.Text.Substring(index, 9); // 提取匹配项 str = str.Substring(index + 9, str.Length - index - 9); // 更新字符串 // 检查是否继续循环 index = str.IndexOf("DD11EF"); if (index ...
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类常用方法的详细解释和示例: 1. `.ToLower()` 和 `.ToUpper()` 这两个方法用于将字符串转换为小写或大写形式,方便进行大小写的统一处理。 ```csharp string str = "AbC"; string lowerStr...
这个"matlab开发-未经许可的Javascriptstring.zip.zip"文件可能包含了关于如何在MATLAB中使用JavaScript字符串处理技术的相关资料,尽管它提及“未经许可”,这可能意味着其中的内容可能是版权保护或者非官方的教程...
它提供了一些实用程序方法来解决一些用例,而这些用例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和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的使用方法却有很大的不同,下边我们来比较看看: Js的substring 语法: 程序代码String.substring(start, end) 说明:返回一个从...
4. **子串提取**:`substring(int beginIndex, int endIndex)`方法用于截取字符串的一部分。 5. **查找与替换**:`indexOf(String str)`和`lastIndexOf(String str)`分别用于查找子串首次出现和最后一次出现的位置。...
- **切片**:`string.Substring()`方法允许我们提取字符串的一部分,如`var slice = "HelloWorld".Substring(0, 5);` - **索引查找**:`string.IndexOf()`或`string.LastIndexOf()`用于找到子串在主字符串中的位置...