Split numeric, alphabetic and special symbols from a String
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
**##Steps :
- Calculate the length of the string.
- 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.
- Print all the strings, we will have one string containing a numeric part, other non-numeric part, and the last one contains special characters.
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 codeint main(){ string str = "geeks01$$for02geeks03!@!!"; splitString(str); return 0;} |
Java
// java program to split an alphanumeric// string using stringbufferclass 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 STLdef 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 codeif __name__ == "__main__": str = "geeks01$$for02geeks03!@!!" splitString(str)# This code is contributed by ita_c |
C#
// C# program to split an alphanumeric// string using stringbufferusing 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.
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.



