string.substring()使用实例
时间: 2023-08-21 21:06:32 浏览: 182
假设我们有一个字符串 "Hello, World!",我们想要提取它的子字符串 "World",我们可以使用 substring() 方法。
示例代码如下:
```java
String str = "Hello, World!";
String substr = str.substring(7, 12); // 从索引 7 开始,到索引 12 之前的子字符串
System.out.println(substr); // 输出: World
```
在这个例子中,我们使用 substring() 方法从原始字符串中提取了一个子字符串。方法的第一个参数是子字符串的起始索引,第二个参数是子字符串的结束索引(不包括该索引位置的字符)。在这个例子中,我们从索引 7 开始提取,到索引 12 之前结束,得到了子字符串 "World"。
相关问题
string.substring()使用实例 c#
在 C# 中,使用 Substring() 方法可以提取字符串的子字符串。和 Java 不同的是,C# 中的 Substring() 方法只需要一个参数,即子字符串的起始索引,而不需要结束索引。
以下是一个示例代码:
```csharp
string str = "Hello, World!";
string substr = str.Substring(7, 5); // 从索引 7 开始,长度为 5 的子字符串
Console.WriteLine(substr); // 输出: World
```
在这个例子中,我们使用 Substring() 方法从原始字符串中提取了一个子字符串。方法的第一个参数是子字符串的起始索引,第二个参数是子字符串的长度。在这个例子中,我们从索引 7 开始提取,长度为 5,得到了子字符串 "World"。
java.lang.StringIndexOutOfBoundsException: String index out of range: -1 java.lang.String.substring(String.java:1955)
`java.lang.StringIndexOutOfBoundsException: String index out of range: -1`是一个常见的Java运行时异常,它发生在试图访问String对象中的字符或子串时,提供的索引位置超出了字符串的有效范围。Java的String类是不可变的,这意味着一旦创建,它的长度就不能改变。当你试图访问索引小于0(负数)或者大于等于字符串实际长度的字符时,就会抛出这个异常。
`substring`方法是String类的一个实例方法,用于提取原字符串的一部分形成一个新的字符串。在这个方法签名`substring(int beginIndex, int endIndex)`中,`beginIndex`是你想要开始提取部分的索引,`endIndex`则是结束提取部分之前最后一个字符的索引。如果你传入的`endIndex`比`beginIndex`大,并且都大于字符串的实际长度减去1(因为索引是从0开始的),那么就会发生索引越界异常。
解决这个问题,你需要确保索引值在有效范围内。例如,如果你想取从第1个字符到第4个字符,应该这样操作:
```java
String str = "Hello";
int startIndex = 0;
int endIndex = 3; // 注意:索引是包括开始但不包括结束的
String subStr = str.substring(startIndex, endIndex + 1); // 尾部加1是因为不包含endIndex
```
阅读全文