# Java String Tokens HackerRank Solution

#### ByBrokenprogrammers

Dec 4, 2022

Hello Programmers, In this post, you will know how to solve the Java String Tokens HackerRank Solution. This problem is a part of the HackerRank Java Programming Series.

One more thing to add, donâ€™t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

## Java String Tokens HackerRank Solution

### Problem :

Given a string,8 , matching the regular expression `[A-Za-z !,?._'@]+`, split the string into tokens. We define a token to be one or more consecutive English alphabetic letters. Then, print the number of tokens, followed by each token on a new line.

Note: You may find the String.split method helpful in completing this challenge.

Input Format

A single string, 8.

Constraints

• 8 is composed of any of the following: English alphabetic letters, blank spaces, exclamation points (`!`), commas (`,`), question marks (`?`), periods (`.`), underscores (`_`), apostrophes (`'`), and at symbols (`@`).

Output Format

On the first line, print an integer,n, denoting the number of tokens in string 8 (they do not need to be unique). Next, print each of the n tokens on a new line in the same order as they appear in input string 8.

Sample Input

``He is a very very good boy, isn't he?``

Sample Output

``````10
He
is
a
very
very
good
boy
isn
t
he``````

Explanation

We consider a token to be a contiguous segment of alphabetic characters. There are a total of  such tokens in string , and each token is printed in the same order in which it appears in string .

### Java String Tokens HackerRank Solutions

```import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
scan.close();
s = s.trim(); // so that .split() works properly
/* Check special cases */
if (s.length() == 0) {
System.out.println(0);
return;
}
/* Split on all non-alphabetic characters */
String [] words = s.split("[^a-zA-Z]+");
/* Print output */
System.out.println(words.length);
for (String word : words) {
System.out.println(word);
}
}
}```

Disclaimer: The above Problem (Java String Tokens) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.