Eliminar caracteres en mayúsculas, minúsculas, especiales, numéricos y no numéricos de una string

Dada la string str de longitud N , la tarea es eliminar los caracteres en mayúsculas, minúsculas, especiales, numéricos y no numéricos de esta string e imprimir la string después de las modificaciones simultáneas.

Ejemplos:

Entrada: string = “GFGgfg123$%”

Salida: después de eliminar los caracteres en mayúsculas : gfg123$%

             Después de eliminar los caracteres en minúsculas: GFG123$%

            Después de eliminar caracteres especiales: GFGgfg123

           Después de eliminar los caracteres numéricos: GFGgfg$%

           Después de eliminar caracteres no numéricos: 123

Entrada: str = “J@va12”

Salida: después de eliminar los caracteres en mayúsculas : @va12

             Después de eliminar los caracteres en minúsculas: J@12

            Después de eliminar caracteres especiales: Jva12

           Después de eliminar los caracteres numéricos: J@va           

          Después de eliminar caracteres no numéricos: 12

Enfoque ingenuo: el enfoque más simple es iterar sobre la string y eliminar los caracteres en mayúsculas, minúsculas, especiales, numéricos y no numéricos. A continuación se muestran los pasos:

1. Recorra la string carácter por carácter de principio a fin.

2. Verifique el valor ASCII de cada carácter para las siguientes condiciones:

  • Si el valor ASCII se encuentra en el rango de [65, 90] , entonces es un carácter en mayúscula. Por lo tanto, omita dichos caracteres y agregue el resto de caracteres en otra string e imprímala.
  • Si el valor ASCII se encuentra en el rango de [97, 122] , entonces es un carácter en minúscula. Por lo tanto, omita dichos caracteres y agregue el resto de caracteres en otra string e imprímala.
  • Si el valor ASCII se encuentra en el rango de [32, 47] , [58, 64] , [91, 96] o [123, 126], entonces es un carácter especial. Por lo tanto, omita dichos caracteres y agregue el resto de caracteres en otra string e imprímala.
  • Si el valor ASCII se encuentra en el rango de [48, 57] , entonces es un carácter numérico. Por lo tanto, omita dichos caracteres y agregue el resto de caracteres en otra string e imprímala.
  • De lo contrario, el carácter es un carácter no numérico. Por lo tanto, omita dichos caracteres y agregue el resto de caracteres en otra string e imprímala.

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

 Enfoque de expresión regular: la idea es usar expresiones regulares para resolver este problema. A continuación se muestran los pasos:

1. Cree expresiones regulares para eliminar caracteres en mayúsculas, minúsculas, especiales, numéricos y no numéricos de la string como se menciona a continuación:

  • RegexToRemoveUpperCaseCharacters = “[AZ]”
  • RegexToRemoveLowerCaseCharacters = “[az]”
  • RegexToRemoveSpecialCharacters = “[^A-Za-z0-9]”
  • RegexToRemoveNumericCharacters = “[0-9]”
  • RegexToRemoveNon-NumericCharacters = “[^0-9]”

2. Compile las expresiones regulares dadas para crear el patrón utilizando el método Pattern.compile() .

3. Haga coincidir la string dada con todas las expresiones regulares anteriores usando Pattern.matcher() .

4. Reemplace cada patrón coincidente con la string de destino utilizando el método Matcher.replaceAll() .

A continuación se muestra la implementación del enfoque anterior:

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
Producción

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

Complejidad de tiempo: O(N)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *