Open In App
Related Articles

Split numeric, alphabetic and special symbols from a String

Improve Article
Improve
Save Article
Save
Like Article
Like

Given string str, divide the string into three parts one containing a numeric part, one containing alphabetic, and one containing special characters. 

Examples: 

Input : geeks01for02geeks03!!!
Output :geeksforgeeks
        010203
        !!!
Here str = "Geeks01for02Geeks03!!!", we scan every character and 
append in res1, res2 and res3 string accordingly.

Input : **Docoding123456789everyday##
Output :Docodingeveryday
        123456789
        **##
Recommended Practice

Steps : 

  1. Calculate the length of the string.
  2. Scan every character(ch) of a string one by one
    • if (ch is a digit) then append it in res1 string.
    • else if (ch is alphabet) append in string res2.
    • else append in string res3.
  3. Print all the strings, we will have one string containing a numeric part, other non-numeric part, and the last one contains special characters.

Implementation:

C++




// CPP program to split an alphanumeric
// string using STL
#include<bits/stdc++.h>
using namespace std;
  
void splitString(string str)
{
    string alpha, num, special;
    for (int i=0; i<str.length(); i++)
    {
        if (isdigit(str[i]))
            num.push_back(str[i]);
        else if((str[i] >= 'A' && str[i] <= 'Z') ||
                (str[i] >= 'a' && str[i] <= 'z'))
            alpha.push_back(str[i]);
        else
            special.push_back(str[i]);
    }
  
    cout << alpha << endl;
    cout << num << endl;
    cout << special << endl;
}
  
// Driver code
int main()
{
    string str = "geeks01$$for02geeks03!@!!";
    splitString(str);
    return 0;
}


Java




// java program to split an alphanumeric
// string using stringbuffer
  
class Test
{
    static void splitString(String str)
    {
        StringBuffer alpha = new StringBuffer(), 
        num = new StringBuffer(), special = new StringBuffer();
          
        for (int i=0; i<str.length(); i++)
        {
            if (Character.isDigit(str.charAt(i)))
                num.append(str.charAt(i));
            else if(Character.isAlphabetic(str.charAt(i)))
                alpha.append(str.charAt(i));
            else
                special.append(str.charAt(i));
        }
       
        System.out.println(alpha);
        System.out.println(num);
        System.out.println(special);
    }
      
    // Driver method
    public static void main(String args[])
    {
        String str = "geeks01$$for02geeks03!@!!";
        splitString(str);
    }
}


Python3




# Python 3 program to split an alphanumeric
# string using STL
def splitString(str):
  
    alpha = ""
    num = ""
    special = ""
    for i in range(len(str)):
        if (str[i].isdigit()):
            num = num+ str[i]
        elif((str[i] >= 'A' and str[i] <= 'Z') or
             (str[i] >= 'a' and str[i] <= 'z')):
            alpha += str[i]
        else:
            special += str[i]
  
    print(alpha)
    print(num )
    print(special)
  
# Driver code
if __name__ == "__main__":
      
    str = "geeks01$$for02geeks03!@!!"
    splitString(str)
  
# This code is contributed by ita_c


C#




// C# program to split an alphanumeric
// string using stringbuffer
using System;
using System.Text; 
  
class GFG  {
      
    // Function ot split string
    static void splitString(string str)
    {
        StringBuilder alpha = 
                 new StringBuilder();
        StringBuilder num = 
                 new StringBuilder();
        StringBuilder special = 
                 new StringBuilder();
      
        for (int i = 0; i < str.Length; i++)
        {
            if (Char.IsDigit(str[i]))
                num.Append(str[i]);
            else if((str[i] >= 'A' && 
                     str[i] <= 'Z') || 
                     (str[i] >= 'a' && 
                      str[i] <= 'z'))
                alpha.Append(str[i]);
            else
                special.Append(str[i]);
        }
      
        Console.WriteLine(alpha);
        Console.WriteLine(num);
        Console.WriteLine(special);
    }
      
    // Driver code
    public static void Main()
    {
        string str = "geeks01$$for02geeks03!@!!";
        splitString(str);
    }
}
  
// This code is contributed by Sam007


Javascript




<script>
// Javascript program to split an alphanumeric
// string using stringbuffer    
      
    function splitString(str)
    {
        let alpha = "";
        let num = "";
        let special = "";
        for (let i=0; i<str.length; i++)
        {
            if (!isNaN(String(str[i]) * 1))
                num+=str[i];
            else if((str[i] >= 'A' && str[i] <= 'Z') ||
             (str[i] >= 'a' && str[i] <= 'z'))
                alpha+=str[i];
            else
                special+=str[i];
        }
         
        document.write(alpha+"<br>");
        document.write(num+"<br>");
        document.write(special+"<br>");
    }
      
    // Driver method
    let str = "geeks01$$for02geeks03!@!!";
    splitString(str);
      
    // This code is contributed by avanitrachhadiya2155
</script>


Output

geeksforgeeks
010203
$$!@!!

The time complexity of the above solution is O(n) where n is the length of the string.

Auxiliary Space: O(n), where n is the length of string.


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 16 Feb, 2023
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials