Skip to content
Related Articles

Related Articles

Improve Article

Java Program to Check Whether the String Consists of Special Characters

  • Difficulty Level : Medium
  • Last Updated : 28 Apr, 2021

Special characters are those characters that are neither a letter nor a number. Whitespace is also not considered a special character. Examples of special characters are:- !(exclamation mark), , (comma), #(hash), etc. 

Methods:

  1. Using Character class
  2. Using regular expressions

Method 1: Using Character class

The approach is as follows:

  1. Iterate through all the characters of the string.
  2. Alongside we will be checking each character for being a letter, a digit, or whitespace using the java character class.
  3. It is found to be none of the above signifying special characters.
  4. Parallelly we will maintain a counter for special character count.
  5. Lastly, print and display the required count or special characters as per the need.

Example



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 encounterd
        if (count == 0)
  
            // Display the print statement
            System.out.println(
                "No Special Characters found.");
        else
  
            // Special sharacter/s found then
            // Display the print statement
            System.out.println(
                "String has Special Characters\n" + count + " "
                + "Special Characters found.");
    }
}
Output
String has Special Characters
8 Special Characters found.

Method 2: Using regular expressions

  1. Create a regular expression that does not match any letters, digits, or whitespace.
  2. We will use Matcher class in accordance with regular expression with our input string.
  3. Now, if there exist any ‘character matches’ with the regular expression then the string contains special characters otherwise it does not contain any special characters.
  4. Print the result.

Java




// Java Program to Check Whether String contains Special
// Characters using Regex classes
  
// Importing regex classes from java.util package to
// match a specific patteren
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 thta 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");
    }
}
Output
No Special Characters found in String 1
String 2 contains Special Characters

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :