Los caracteres especiales son aquellos caracteres que no son ni una letra ni un número. Los espacios en blanco tampoco se consideran un carácter especial. Ejemplos de caracteres especiales son:- !(signo de exclamación), , (coma), #(hash), etc.
Métodos:
Método 1: usar la clase de caracteres
El enfoque es el siguiente:
- Iterar a través de todos los caracteres de la string.
- Además, verificaremos que cada carácter sea una letra, un dígito o un espacio en blanco utilizando la clase de caracteres de Java .
- Se encuentra que ninguno de los anteriores significa caracteres especiales.
- Paralelamente mantendremos un contador para el conteo de caracteres especiales.
- Por último, imprima y muestre el conteo requerido o los caracteres especiales según la necesidad.
Ejemplo
Java
// Java Program to Check Whether String contains Special // Characters Using Character Class // Importing input output classes import java.io.*; // Main class class GFG { // Method 1 // Main driver method public static void main(String[] args) { // Declaring and initializing count for // special characters int count = 0; // Input custom string String s = "!#$GeeeksforGeeks.Computer.Science.Portal!!"; // Iterating through the string // using standard length() method for (int i = 0; i < s.length(); i++) { // Checking the character for not being a // letter,digit or space if (!Character.isDigit(s.charAt(i)) && !Character.isLetter(s.charAt(i)) && !Character.isWhitespace(s.charAt(i))) { // Incrementing the countr for spl // characters by unity count++; } } // When there is no special character encountered if (count == 0) // Display the print statement System.out.println( "No Special Characters found."); else // Special character/s found then // Display the print statement System.out.println( "String has Special Characters\n" + count + " " + "Special Characters found."); } }
Producción
String has Special Characters 8 Special Characters found.
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(N)
Método 2: Usar expresiones regulares
- Cree una expresión regular que no coincida con ninguna letra, dígito o espacio en blanco.
- Usaremos la clase Matcher de acuerdo con la expresión regular con nuestra string de entrada.
- Ahora, si existe alguna ‘coincidencia de caracteres’ con la expresión regular, entonces la string contiene caracteres especiales; de lo contrario, no contiene ningún carácter especial.
- Imprime el resultado.
Java
// Java Program to Check Whether String contains Special // Characters using Regex classes // Importing regex classes from java.util package to // match a specific pattern import java.util.regex.Matcher; import java.util.regex.Pattern; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing strings randomly // with input characters // Custom Input as String 1 String s1 = "GeeksForGeeks"; // Creating regex pattern by // creating object of Pattern class Pattern p = Pattern.compile( "[^a-z0-9 ]", Pattern.CASE_INSENSITIVE); // Creating matcher for above pattern on our string Matcher m = p.matcher(s1); // Now finding the matches for which // let us set a boolean flag and // imposing find() method boolean res = m.find(); // Output will be based on boolean flag // If special characters are found if (res) // Display this message on the console System.out.println( "String1 contains Special Characters"); // If we reach here means no special characters are // found else // Display this message on the console System.out.println( "No Special Characters found in String 1"); // Custom Input as String 2 String s2 = "!!Geeks.For.Geeks##"; // Creating matcher for above pattern on our string // by creating object of matcher class Matcher m2 = p.matcher(s2); // Finding the matches using find() method boolean res2 = m2.find(); // If matches boolean returns true if (res2) // Then print and display that special // characters are found System.out.println( "String 2 contains Special Characters"); // If not else // Then Display the print statement below System.out.println( "No Special Characters found in String 2"); } }
Producción
No Special Characters found in String 1 String 2 contains Special Characters
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(N)
Publicación traducida automáticamente
Artículo escrito por mehulp1612 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA