C# - Different Ways to Find All Substrings in a String - GeeksforGeeks

21 Oct, 2021
Given a string as an input we need to find all the substrings present in the given string. 
Example:
Input:
geeks
Output:
g
e
e
k
s
ge
ee
ek
ks
gee
eek
eks
geek
eeks
geeks

Input:
ab
Output:
a
b
ab
Method 1: Using Substring() method
We can find all the substrings from the given string using the Substring() method. This method returns a substring from the current string. It contains two parameters where the first parameter represents the starting position of the substring which has to be retrieved and the second parameter will represent the length of the substring. Here if the first parameter is equal to the length of the string then this method will return nothing.
Syntax:
str.Substring(strindex, strlen)
where strindex is the starting index of the substring and strlen is the length of the substring.
Approach
To display 
Read the string from the user.
Write the find_substrings() function to get substrings.
In find_substrings() function call Substring() method to get the substrings.
for(i = 1; i <= input_string.Length; i++)
{
    for (j = 0; j <= input_string.Length - i; j++)
    {  
        // Use Substring function
        Console.WriteLine(input_string.Substring(j, i));
    }
}
Now show the retrieved substrings.
Example:
C#
// C# program to display all Substrings// present in the given String using System;  class GFG{      // Function to get the substringsstatic void find_substrings(string input_string){    int j = 0;    int i = 0;      for(i = 1; i <= input_string.Length; i++)    {        for(j = 0; j <= input_string.Length - i; j++)        {                            // Using Substring() function            Console.WriteLine(input_string.Substring(j, i));        }    }}  // Driver codepublic static void Main(){          // Declare the main string    string input_string;      Console.Write("Enter String : ");    Console.Write("\n");          // Read the string    input_string = Console.ReadLine();      // Call the function    find_substrings(input_string);}}
Output:
Enter String :
GFG
G
F
G
GF
FG
GFG
Method 2: Using for loop
We can also find substring from the given string using nested for loop. Here the outer for loop is used to select starting character, mid for loop is used to considers all characters on the right of the selected starting character as the ending character of the substring, and the inner for loop is used to print characters from the starting to the ending point. 
Example:
C#
// C# program to display all Substrings// present in the given String using System;  class GFG{  // Function to print all substrings// from the given stringstatic void find_Substring(string inputstr, int n){          // Choose starting point    for(int l = 1; l <= n; l++)    {                // Choose ending point        for(int i = 0; i <= n - l; i++)        {                          // Display the substrings            int q = i + l - 1;                          for(int j = i; j <= q; j++)                Console.Write(inputstr[j]);                          Console.WriteLine();        }    }}  // Driver codestatic public void Main (){    string inputstr = "Geeks";          // Calling function    find_Substring(inputstr, inputstr.Length);}}
Output:
G
e
e
k
s
Ge
ee
ek
ks
Gee
eek
eks
Geek
eeks
Geeks
CSharp-Strings-Programs
Picked
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Extension Method in C#
HashSet in C# with Examples
Partial Classes in C#
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
C# | List Class
C# | Inheritance
Lambda Expressions in C#
Linked List Implementation in C#
Convert String to Character Array in C#