English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comment obtenir la première lettre de chaque mot en utilisant une expression régulière dans Java ?

Le caractère de métacaractère “ \ b ”correspond à la limite de mot, [a-zA-Z] correspond à un caractère unique des lettres anglaises (deux cas). En résumé, l'expression\ \ b [a-zA-Z] Correspondre à un caractère unique des lettres anglaises, ces deux cas sont après chaque limite de mot.

Par conséquent, pour rechercher la première lettre de chaque mot-

  • Compilationcompile()Les expressions des méthodes de la classe Pattern ci-dessus.

  • Parcourir la chaîne d'entrée nécessaire en tant quematcher()Les paramètres des méthodes de la classe Pattern, pour obtenir un objet Matcher.

  • Finalement, pour chaque élément correspondant, appelergroup()méthode pour obtenir le caractère correspondant.

Exemple

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FirstLetterExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Entrez le texte d'exemple : ");
      String data = sc.nextLine();
      String regex = "\\b[a-zA-Z]";
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Créer un objet Matcher
      Matcher matcher = pattern.matcher(data);
      System.out.println("Première lettre de chaque mot de la chaîne donnée : ");
      while(matcher.find()) {
         System.out.print(matcher.group())+" ");
      }
   }
}

Résultat de la sortie

Entrez le texte d'exemple :
National Intelligence Agency Research & Analysis Wing
Première lettre de chaque mot de la chaîne donnée :
N I A R A W
Vous pourriez aussi aimer