Java String Tokens Hackerrank Solution

Java String Tokens hackerrank solution
Java String Tokens

Java String Tokens hackerrank solution

Given a string, s, 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, s.

Constraints

  • 1<=length of s<=4.10^5
  •  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 s (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 s.

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

Java String Tokens hackerrank Code Solution:

//Java String Tokens hackerrank solution

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        scan.useDelimiter("\\Z");
    String s = scan.next().trim();
    if (s.length() > 0) {
        String[] tokens = s.split("[!,?._'@\\s]+");
        System.out.println(tokens.length);
        for(String token : tokens) {
            System.out.println(token);
        }
    } else {
        System.out.println(0);
    }
    scan.close();
}
}      

//Java String Tokens hackerrank solution

Disclaimer: This problem is originally created and published by HackerRank, we only provide solutions to this problem. Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.

Leave a Comment