Open In App

Remove uppercase, lowercase, special, numeric, and non-numeric characters from a String

Improve
Improve
Like Article
Like
Save
Share
Report

Given string str of length N, the task is to remove uppercase, lowercase, special, numeric, and non-numeric characters from this string and print the string after the simultaneous modifications.

Examples:

Input: str = “GFGgfg123$%”

Output: After removing uppercase characters: gfg123$%

             After removing lowercase characters: GFG123$%

            After removing special characters: GFGgfg123

           After removing numeric characters: GFGgfg$%

           After removing non-numeric characters: 123

Input: str = “J@va12”

Output: After removing uppercase characters: @va12

             After removing lowercase characters: J@12

            After removing special characters: Jva12

           After removing numeric characters: J@va           

          After removing non-numeric characters: 12

Naive Approach: The simplest approach is to iterate over the string and remove uppercase, lowercase, special, numeric, and non-numeric characters. Below are the steps:

1. Traverse the string character by character from start to end.

2. Check the ASCII value of each character for the following conditions:

  • If the ASCII value lies in the range of [65, 90], then it is an uppercase character. Therefore, skip such characters and add the rest characters in another string and print it.
  • If the ASCII value lies in the range of [97, 122], then it is a lowercase character. Therefore, skip such characters and add the rest characters in another string and print it.
  • If the ASCII value lies in the range of [32, 47], [58, 64], [91, 96], or [123, 126] then it is a special character. Therefore, skip such characters and add the rest characters in another string and print it.
  • If the ASCII value lies in the range of [48, 57], then it is a numeric character. Therefore, skip such characters and add the rest characters in another string and print it.
  • Else the character is a non-numeric character. Therefore, skip such characters and add the rest characters in another string and print it.

Time Complexity: O(N)
Auxiliary Space: O(1)

 Regular Expression Approach: The idea is to use regular expressions to solve this problem. Below are the steps:

1. Create regular expressions to remove uppercase, lowercase, special, numeric, and non-numeric characters from the string as mentioned below:

  • regexToRemoveUpperCaseCharacters  = “[A-Z]”
  • regexToRemoveLowerCaseCharacters = “[a-z]”
  • regexToRemoveSpecialCharacters = “[^A-Za-z0-9]”
  • regexToRemoveNumericCharacters = “[0-9]”
  • regexToRemoveNon-NumericCharacters = “[^0-9]”

2. Compile the given regular expressions to create the pattern using Pattern.compile() method.

3. Match the given string with all the above Regular Expressions using Pattern.matcher().

4. Replace every matched pattern with the target string using the Matcher.replaceAll() method.

Below is the implementation of the above approach:

C++




// C++ program to remove uppercase, lowercase
// special, numeric, and non-numeric characters
#include <iostream>
#include <regex>
using namespace std;
 
// Function to remove uppercase characters
string removingUpperCaseCharacters(string str)
{
  // Create a regular expression
  const regex pattern("[A-Z]");
 
  // Replace every matched pattern with the
  // target string using regex_replace() method
  return regex_replace(str, pattern, "");
}
 
// Function to remove lowercase characters
string removingLowerCaseCharacters(string str)
{
  // Create a regular expression
  const regex pattern("[a-z]");
 
  // Replace every matched pattern with the
  // target string using regex_replace() method
  return regex_replace(str, pattern, "");
}
 
// Function to remove special characters
string removingSpecialCharacters(string str)
{
  // Create a regular expression
  const regex pattern("[^A-Za-z0-9]");
 
  // Replace every matched pattern with the
  // target string using regex_replace() method
  return regex_replace(str, pattern, "");
}
 
// Function to remove numeric characters
string removingNumericCharacters(string str)
{
  // Create a regular expression
  const regex pattern("[0-9]");
 
  // Replace every matched pattern with the
  // target string using regex_replace() method
  return regex_replace(str, pattern, "");
}
 
// Function to remove non-numeric characters
string removingNonNumericCharacters(string str)
{
  // Create a regular expression
  const regex pattern("[^0-9]");
 
  // Replace every matched pattern with the
  // target string using regex_replace() method
  return regex_replace(str, pattern, "");
}
 
int main()
{
  // Given String str
  string str = "GFGgfg123$%";
 
  // Print the strings after the simultaneous
  // modifications
  cout << "After removing uppercase characters: "
       << removingUpperCaseCharacters(str) << endl;
  cout << "After removing lowercase characters: "
       << removingLowerCaseCharacters(str) << endl;
  cout << "After removing special characters: "
       << removingSpecialCharacters(str) << endl;
  cout << "After removing numeric characters: "
       << removingNumericCharacters(str) << endl;
  cout << "After removing non-numeric characters: "
       << removingNonNumericCharacters(str) << endl;
 
  return 0;
}
 
// This article is contributed by yuvraj_chandra


Java




// Java program to remove uppercase, lowercase
// special, numeric, and non-numeric characters
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GFG
{
 
    // Function to remove uppercase characters
    public static String
    removingUpperCaseCharacters(String str)
    {
 
        // Create a regular expression
        String regex = "[A-Z]";
 
        // Compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(regex);
 
        // Get a matcher object from pattern
        Matcher matcher = pattern.matcher(str);
 
        // Replace every matched pattern with the
        // target string using replaceAll() method
        return matcher.replaceAll("");
    }
 
    // Function to remove lowercase characters
    public static String
    removingLowerCaseCharacters(String str)
    {
 
        // Create a regular expression
        String regex = "[a-z]";
 
        // Compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(regex);
 
        // Get a matcher object from pattern
        Matcher matcher = pattern.matcher(str);
 
        // Replace every matched pattern with the
        // target string using replaceAll() method
        return matcher.replaceAll("");
    }
 
    // Function to remove special characters
    public static String
    removingSpecialCharacters(String str)
    {
 
        // Create a regular expression
        String regex = "[^A-Za-z0-9]";
 
        // Compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(regex);
 
        // Get a matcher object from pattern
        Matcher matcher = pattern.matcher(str);
 
        // Replace every matched pattern with the
        // target string using replaceAll() method
        return matcher.replaceAll("");
    }
 
    // Function to remove numeric characters
    public static String
    removingNumericCharacters(String str)
    {
 
        // Create a regular expression
        String regex = "[0-9]";
 
        // Compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(regex);
 
        // Get a matcher object from pattern
        Matcher matcher = pattern.matcher(str);
 
        // Replace every matched pattern with the
        // target string using replaceAll() method
        return matcher.replaceAll("");
    }
 
    // Function to remove non-numeric characters
    public static String
    removingNonNumericCharacters(String str)
    {
 
        // Create a regular expression
        String regex = "[^0-9]";
 
        // Compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(regex);
 
        // Get a matcher object from pattern
        Matcher matcher = pattern.matcher(str);
 
        // Replace every matched pattern with the
        // target string using replaceAll() method
        return matcher.replaceAll("");
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        // Given String str
        String str = "GFGgfg123$%";
 
        // Print the strings after the simultaneous
        // modifications
        System.out.println(
            "After removing uppercase characters: "
            + removingUpperCaseCharacters(str));
        System.out.println(
            "After removing lowercase characters: "
            + removingLowerCaseCharacters(str));
        System.out.println(
            "After removing special characters: "
            + removingSpecialCharacters(str));
        System.out.println(
            "After removing numeric characters: "
            + removingNumericCharacters(str));
        System.out.println(
            "After removing non-numeric characters: "
            + removingNonNumericCharacters(str));
    }
}


Python3




# Python3 program to remove
# uppercase, lowercase special,
# numeric, and non-numeric characters
import re
 
# Function to remove
# uppercase characters
def removingUpperCaseCharacters(str):
 
    # Create a regular expression
    regex = "[A-Z]"
 
    # Replace every matched pattern 
    # with the target string using
    # sub() method
    return (re.sub(regex, "", str))
 
# Function to remove lowercase
# characters
def removingLowerCaseCharacters(str):
 
    # Create a regular expression
    regex = "[a-z]"
 
    # Replace every matched
    # pattern with the target
    # string using sub() method
    return (re.sub(regex, "", str))
 
def removingSpecialCharacters(str):
 
    # Create a regular expression
    regex = "[^A-Za-z0-9]"
 
    # Replace every matched pattern
    # with the target string using
    # sub() method
    return (re.sub(regex, "", str))
 
def removingNumericCharacters(str):
 
    # Create a regular expression
    regex = "[0-9]"
 
    # Replace every matched
    # pattern with the target
    # string using sub() method
    return (re.sub(regex, "", str))
 
def  removingNonNumericCharacters(str):
 
    # Create a regular expression
    regex = "[^0-9]"
 
    # Replace every matched pattern
    # with the target string using
    # sub() method
    return (re.sub(regex, "", str))
 
str = "GFGgfg123$%"
print("After removing uppercase characters:",
       removingUpperCaseCharacters(str))
print("After removing lowercase characters:",
       removingLowerCaseCharacters(str))
print("After removing special characters:",
       removingSpecialCharacters(str))
print("After removing numeric characters:",
       removingNumericCharacters(str))
print("After removing non-numeric characters:",
       removingNonNumericCharacters(str))
 
# This code is contributed by avanitrachhadiya2155


C#




// C# program to remove uppercase, lowercase
// special, numeric, and non-numeric characters
using System;
using System.Text.RegularExpressions;
public class GFG
{
 
  // Function to remove uppercase characters
  public static string
    removingUpperCaseCharacters(string str)
  {
 
    // Create a regular expression
    string regex = "[A-Z]";
 
    // Replace every matched pattern with the
    // target string using Replace method
    return Regex.Replace(str, regex, "");
  }
 
  // Function to remove lowercase characters
  public static string
    removingLowerCaseCharacters(string str)
  {
 
    // Create a regular expression
    string regex = "[a-z]";
 
    // Replace every matched pattern with the
    // target string using Replace method
    return Regex.Replace(str, regex, "");
  }
 
  // Function to remove special characters
  public static string
    removingSpecialCharacters(string str)
  {
 
    // Create a regular expression
    string regex = "[^A-Za-z0-9]";
 
    // Replace every matched pattern with the
    // target string using Replace method
    return Regex.Replace(str, regex, "");
  }
 
  // Function to remove numeric characters
  public static string
    removingNumericCharacters(string str)
  {
 
    // Create a regular expression
    string regex = "[0-9]";
 
    // Replace every matched pattern with the
    // target string using Replace method
    return Regex.Replace(str, regex, "");
  }
 
  // Function to remove non-numeric characters
  public static string
    removingNonNumericCharacters(string str)
  {
 
    // Create a regular expression
    string regex = "[^0-9]";
 
    // Replace every matched pattern with the
    // target string using Replace method
    return Regex.Replace(str, regex, "");
  }
 
  // Driver Code
  public static void Main()
  {
    // Given string str
    string str = "GFGgfg123$%";
 
    // Print the strings after the simultaneous
    // modifications
    Console.WriteLine(
      "After removing uppercase characters: "
      + removingUpperCaseCharacters(str));
    Console.WriteLine(
      "After removing lowercase characters: "
      + removingLowerCaseCharacters(str));
    Console.WriteLine(
      "After removing special characters: "
      + removingSpecialCharacters(str));
    Console.WriteLine(
      "After removing numeric characters: "
      + removingNumericCharacters(str));
    Console.WriteLine(
      "After removing non-numeric characters: "
      + removingNonNumericCharacters(str));
  }
}
 
// This code is contributed by Aman Kumar.


Javascript




// Javascript program to remove uppercase, lowercase
// special, numeric, and non-numeric characters
 
// Function to remove uppercase characters
function removingUpperCaseCharacters(str)
{
 
// Create a regular expression
let pattern = new RegExp("[A-Z]",'g');
 
// Replace every matched pattern with the
// target string using str.replace() method
return str.replace(pattern, "");
}
 
// Function to remove lowercase characters
function removingLowerCaseCharacters(str)
{
 
// Create a regular expression
let pattern = new RegExp("[a-z]",'g');
 
// Replace every matched pattern with the
// target string using str.replace() method
return str.replace(pattern, "");
}
 
// Function to remove special characters
function removingSpecialCharacters(str)
{
 
// Create a regular expression
let pattern = new RegExp("[^A-Za-z0-9]",'g');
 
// Replace every matched pattern with the
// target string using str.replace() method
return str.replace(pattern, "");
}
 
// Function to remove numeric characters
function removingNumericCharacters(str)
{
 
// Create a regular expression
let pattern = new RegExp("[0-9]",'g');
 
// Replace every matched pattern with the
// target string using str.replace() method
return str.replace(pattern, "");
}
 
// Function to remove non-numeric characters
function removingNonNumericCharacters(str)
{
 
// Create a regular expression
let pattern = new RegExp("[^0-9]",'g');
 
// Replace every matched pattern with the
// target string using str.replace() method
return str.replace(pattern, "");
}
 
// Given String str
let str = "GFGgfg123$%";
 
// Print the strings after the simultaneous
// modifications
console.log("After removing uppercase characters: "
    + removingUpperCaseCharacters(str)+"<br>" );
console.log("After removing lowercase characters: "
    + removingLowerCaseCharacters(str)+"<br>" );
console.log("After removing special characters: "
    + removingSpecialCharacters(str)+"<br>" );
console.log("After removing numeric characters: "
    + removingNumericCharacters(str)+"<br>" );
console.log("After removing non-numeric characters: "
+ removingNonNumericCharacters(str)+"<br>" );
   
// This article is contributed by Pushpesh Raj


Output

After removing uppercase characters: gfg123$%
After removing lowercase characters: GFG123$%
After removing special characters: GFGgfg123
After removing numeric characters: GFGgfg$%
After removing non-numeric characters: 123

Time Complexity: O(N)

Auxiliary Space: O(1)



Last Updated : 03 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads