Skip to main content
.NET Framework Class Library
StringSubstring Method (Int32, Int32)

Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Function Substring ( _
	startIndex As [%$TOPIC/aka44szs_en-us_VS_110_1_0_0_0_0%], _
	length As [%$TOPIC/aka44szs_en-us_VS_110_1_0_0_0_1%] _
) As [%$TOPIC/aka44szs_en-us_VS_110_1_0_0_0_2%]
public [%$TOPIC/aka44szs_en-us_VS_110_1_0_1_0_0%] Substring(
	[%$TOPIC/aka44szs_en-us_VS_110_1_0_1_0_1%] startIndex,
	[%$TOPIC/aka44szs_en-us_VS_110_1_0_1_0_2%] length
)
public:
[%$TOPIC/aka44szs_en-us_VS_110_1_0_2_0_0%]^ Substring(
	[%$TOPIC/aka44szs_en-us_VS_110_1_0_2_0_1%] startIndex, 
	[%$TOPIC/aka44szs_en-us_VS_110_1_0_2_0_2%] length
)
member Substring : 
        startIndex:[%$TOPIC/aka44szs_en-us_VS_110_1_0_3_0_0%] * 
        length:[%$TOPIC/aka44szs_en-us_VS_110_1_0_3_0_1%] -> [%$TOPIC/aka44szs_en-us_VS_110_1_0_3_0_2%]
public function Substring(
	startIndex : [%$TOPIC/aka44szs_en-us_VS_110_1_0_4_0_0%], 
	length : [%$TOPIC/aka44szs_en-us_VS_110_1_0_4_0_1%]
) : [%$TOPIC/aka44szs_en-us_VS_110_1_0_4_0_2%]

Parameters

startIndex
Type: SystemInt32

The zero-based starting character position of a substring in this instance.

length
Type: SystemInt32

The number of characters in the substring.

Return Value

Type: SystemString
A string that is equivalent to the substring of length length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero.
Exceptions
ExceptionCondition
ArgumentOutOfRangeException

startIndex plus length indicates a position not within this instance.

-or-

startIndex or length is less than zero.

Remarks

startIndex is zero-based.

NoteNote

This method does not modify the value of the current instance. Instead, it returns a new string with length characters starting from the startIndex position in the current string.

Examples

The following example uses the Substring method in three cases to isolate substrings within a string. In two cases the substrings are used in comparisons, and in the third case an exception is thrown because invalid parameters are specified.

Public Class Sample
   Public Shared Sub Main()
      Dim myString As String = "abc" 
      Dim test1 As Boolean = myString.Substring(2, 1).Equals("c") ' This is true.
      Console.WriteLine(test1)
      Dim test2 As Boolean = String.IsNullOrEmpty(myString.Substring(3, 0)) ' This is true.
      Console.WriteLine(test2)
      Try   
         Dim str3 As String = myString.Substring(3, 1) ' This throws ArgumentOutOfRangeException.
         Console.WriteLine(str3)
      Catch e As ArgumentOutOfRangeException
         Console.WriteLIne(e.Message)
      End Try    
   End Sub 
End Class  
' The example displays the following output: 
'       True 
'       True 
'       Index and length must refer to a location within the string. 
'       Parameter name: length
using System;

public class Sample
{
   public static void Main() {
      String myString = "abc";
      bool test1 = myString.Substring(2, 1).Equals("c"); // This is true.
      Console.WriteLine(test1);
      bool test2 = String.IsNullOrEmpty(myString.Substring(3, 0)); // This is true.
      Console.WriteLine(test2);
      try {
         string str3 = myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
         Console.WriteLine(str3);
      }
      catch (ArgumentOutOfRangeException e) {
         Console.WriteLine(e.Message);
      }         
   }
}
// The example displays the following output: 
//       True 
//       True 
//       Index and length must refer to a location within the string. 
//       Parameter name: length
Version Information

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8