Remove all non-alphabetical characters of a String in Java

Given a string str, consisting of non-alphabetical characters. The task is to remove all those non-alphabetical characters of str and print the words on a new line.

Examples:

Input: str = “Hello, how are you ?”
Output:
Hello
how
are
you



comma(, ), white space and question mark (?) are removed and there are total 4 words in string s.
Each token is printed in the same order in which it appears in string s.

Input: “Azad is a good boy, isn’ t he ?”
Output:
Azad
is
a
good
boy
isn
t
he

Approach: Non-alphabetic characters are basically any character that is not a number or letter. It can be English alphabetic letters, blank spaces, exclamation points (!), commas (, ), question marks (?), periods (.), underscores (_), apostrophes (‘), and at symbols (@). The approach is to use Java String.split method to split the String, s into an array of substrings. Then print each n words on a new line in the same order as it appears in String s.

Below is the implementation of the above approach:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to split all
// non-alphabetical characters
import java.util.Scanner;
  
public class Main {
  
    // Function to trim the non-alphabetical characters
    static void printwords(String str)
    {
  
        // eliminate leading and trailing spaces
        str = str.trim();
  
        // split all non-alphabetic characters
        String delims = "\\W+"; // split any non word
        String[] tokens = str.split(delims);
  
        // print the tokens
        for (String item : tokens) {
  
            System.out.println(item + " ");
        }
    }
  
    public static void main(String[] args)
    {
  
        String str = "Hello, how are you  ?";
        printwords(str);
    }
}

chevron_right


Output:

Hello 
how 
are 
you

Time Complexity: O(N)



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.