Java program to print first letter of each word using regex



In this article, we will understand how to print the first letter of each word using regex. A regular expression is a sequence of characters that forms a search pattern. A regular expression can be a single character or a more complicated pattern.

A regular expression helps you match or find other strings or sets of strings, using a specialized syntax held in a pattern. They can be used to search, edit, or manipulate text and data.

Problem Statement

Write a program in Java to print the first letter of each word using regex. Below is a demonstration of the same ?

Input 

Input String_1: Java Program Input String_2: Joy of learning

Output

Result_1: JP Result_2: Jol

Using main() method

Following are the steps to print the first letter of each word under the main() method ?

  • First, we will import the regex Matcher class and Pattern class using java.util.regex to use regular expressions.
  • Create two sample strings, input_string_1 and input_string_2, to apply the pattern to.
  • Define a regex pattern using Pattern.compile("\b[a-zA-Z]") to match the first letter of each word.
  • Use a Matcher object to apply the pattern on the strings. Loop through the matches and print the first letter of each word using the while loop.
  • Print the matched characters for each string, showing only the first letters of each word.

Example

Here, we bind all the operations together under the main() method ?

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Regex { public static void main(String[] args) { System.out.println("Required packages have been imported"); String input_string_1 = "Java Program"; System.out.println("\nThe first string is defined as: " +input_string_1); Pattern string_pattern = Pattern.compile("\b[a-zA-Z]"); Matcher string_matcher = string_pattern.matcher(input_string_1); System.out.println("The first letters of the string is : "); while (string_matcher.find()) System.out.print(string_matcher.group()); System.out.println(); String input_string_2 = "Joy of learning"; System.out.println("\nThe second string is defined as: " +input_string_2); Matcher string_matcher_2 = string_pattern.matcher(input_string_2); System.out.println("The first letters of the string is : "); while (string_matcher_2.find()) System.out.print(string_matcher_2.group()); System.out.println(); } }

Output

Required packages have been imported The first string is defined as: Java Program The first letters of the string is : JP The second string is defined as: Java Program The first letters of the string is : Jol

Using encapsulation

Following are the steps to print the first letter of each word using object-oriented programming ?

  • First, we will import the Matcher class and Pattern class using java.util.regex to use regular expressions.
  • Create print_regex_string(String s), which takes a string as input and performs the regex operations to print the first letter of each word.
  • In print_regex_string(), use Pattern.compile() to match the first letter of each word.
  • Within the method, use Matcher to find each match and print the result.
  • Call print_regex_string() on each string, encapsulating the logic for finding and printing initials.

Example

Here, we encapsulate the operations into functions exhibiting object-oriented programming ?

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Regex { static void print_regex_string(String s) { Pattern string_pattern = Pattern.compile("\b[a-zA-Z]"); Matcher string_matcher = string_pattern.matcher(s); System.out.println("The first letters of the string is : "); while (string_matcher.find()) System.out.print(string_matcher.group()); System.out.println(); } public static void main(String[] args) { System.out.println("Required packages have been imported"); String input_string_1 = "Java Program"; System.out.println("\nThe first string is defined as: " +input_string_1); print_regex_string(input_string_1); String input_string_2 = "Joy of learning"; System.out.println("\nThe second string is defined as: " +input_string_1); print_regex_string(input_string_2); } }

Output

Required packages have been imported The first string is defined as: Java Program The first letters of the string is : JP The second string is defined as: Java Program The first letters of the string is : Jol
Updated on: 2024-10-29T00:38:40+05:30

807 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements