Dada la string str de longitud N , la tarea es verificar si la string dada contiene solo caracteres especiales o no. Si la string contiene solo caracteres especiales, imprima » Sí» . De lo contrario, escriba “ No” .
Ejemplos:
Entrada: str = “@#$&%!~”
Salida: Sí
Explicación:
La string dada contiene solo caracteres especiales.
Por lo tanto, la salida es Sí.Entrada: str = “Geeks4Geeks@#”
Salida: No
Explicación:
La string dada contiene letras, números y caracteres especiales.
Por lo tanto, la salida es No.
Enfoque ingenuo: itere sobre la string y verifique si la string contiene solo caracteres especiales o no. Siga los pasos a continuación para resolver el problema:
- Recorra la string y para cada carácter, verifique si su valor ASCII se encuentra en los rangos [32, 47] , [58, 64] , [91, 96] o [123, 126] . Si se determina que es cierto, es un carácter especial.
- Imprima Sí si todos los caracteres se encuentran en uno de los rangos antes mencionados. De lo contrario, imprima No.
Complejidad temporal: O(N)
Espacio auxiliar: O(1)
Enfoque de uso eficiente del espacio: la idea es utilizar expresiones regulares para optimizar el enfoque anterior. Siga los pasos a continuación:
- Cree la siguiente expresión regular para verificar si la string dada contiene solo caracteres especiales o no.
expresión regular = «[^a-zA-Z0-9]+»
dónde,
- [^a-zA-Z0-9] representa solo caracteres especiales.
- + representa una o más veces.
- Haga coincidir la string dada con la expresión regular usando Pattern.matcher() en Java
- Imprima Sí si la string coincide con la expresión regular dada. De lo contrario , imprima No.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to check if the string // contains only special characters #include <iostream> #include <regex> using namespace std; // Function to check if the string contains only special characters. void onlySpecialCharacters(string str) { // Regex to check if the string contains only special characters. const regex pattern("[^a-zA-Z0-9]+"); // If the string // is empty then print "No" if (str.empty()) { cout<< "No"; return ; } // Print "Yes" if the string contains only special characters // matched the ReGex if(regex_match(str, pattern)) { cout<< "Yes"; } else { cout<< "No"; } } // Driver Code int main() { // Given string str string str = "@#$&%!~"; onlySpecialCharacters(str) ; return 0; } // This code is contributed by yuvraj_chandra
Java
// Java program to check if the string // contains only special characters import java.util.regex.*; class GFG { // Function to check if a string // contains only special characters public static void onlySpecialCharacters( String str) { // Regex to check if a string contains // only special characters String regex = "[^a-zA-Z0-9]+"; // Compile the ReGex Pattern p = Pattern.compile(regex); // If the string is empty // then print No if (str == null) { System.out.println("No"); return; } // Find match between given string // & regular expression Matcher m = p.matcher(str); // Print Yes If the string matches // with the Regex if (m.matches()) System.out.println("Yes"); else System.out.println("No"); } // Driver Code public static void main(String args[]) { // Given string str String str = "@#$&%!~"; // Function Call onlySpecialCharacters(str); } }
Python3
# Python program to check if the string # contains only special characters import re # Function to check if a string # contains only special characters def onlySpecialCharacters(Str): # Regex to check if a string contains # only special characters regex = "[^a-zA-Z0-9]+" # Compile the ReGex p=re.compile(regex) # If the string is empty # then print No if(len(Str) == 0): print("No") return # Print Yes If the string matches # with the Regex if(re.search(p, Str)): print("Yes") else: print("No") # Driver Code # Given string str Str = "@#$&%!~" # Function Call onlySpecialCharacters(Str) # This code is contributed by avanitrachhadiya2155
C#
// C# program to check if // the string contains only // special characters using System; using System.Text.RegularExpressions; class GFG{ // Function to check if a string // contains only special characters public static void onlySpecialchars(String str) { // Regex to check if a string // contains only special // characters String regex = "[^a-zA-Z0-9]+"; // Compile the ReGex Regex rgex = new Regex(regex); // If the string is empty // then print No if (str == null) { Console.WriteLine("No"); return; } // Find match between given // string & regular expression MatchCollection matchedAuthors = rgex.Matches(str); // Print Yes If the string matches // with the Regex if (matchedAuthors.Count != 0) Console.WriteLine("Yes"); else Console.WriteLine("No"); } // Driver Code public static void Main(String []args) { // Given string str String str = "@#$&%!~"; // Function Call onlySpecialchars(str); } } // This code is contributed by Princi Singh
Javascript
<script> // JavaScript program to check if // the string contains only // special characters // Function to check if a string // contains only special characters function onlySpecialchars(str) { // Regex to check if a string // contains only special // characters var regex = /^[^a-zA-Z0-9]+$/; // If the string is empty // then print No if (str.length < 1) { document.write("No"); return; } // Find match between given // string & regular expression var matchedAuthors = regex.test(str); // Print Yes If the string matches // with the Regex if (matchedAuthors) document.write("Yes"); else document.write("No"); } // Driver Code // Given string str var str = "@#$&%!~"; // Function Call onlySpecialchars(str); </script>
Yes
Complejidad temporal: 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