Programa Java para verificar si la string consta de caracteres especiales

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:

  1. Usando la clase de carácter
  2. Uso de expresiones regulares

Método 1: usar la clase de caracteres

El enfoque es el siguiente:

  1. Iterar a través de todos los caracteres de la string.
  2. 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 .
  3. Se encuentra que ninguno de los anteriores significa caracteres especiales.
  4. Paralelamente mantendremos un contador para el conteo de caracteres especiales.
  5. 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

  1. Cree una expresión regular que no coincida con ninguna letra, dígito o espacio en blanco.
  2. Usaremos la clase Matcher de acuerdo con la expresión regular con nuestra string de entrada.
  3. 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.
  4. 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

Deja una respuesta

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