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
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