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

Come ottenere la lettera iniziale di ogni parola utilizzando Java regex?

Carattere speciale " \b Corrisponde al confine di una parola, [a-zA-Z] corrisponde a un carattere dell'alfabeto inglese (entrambe le condizioni). In breve, l'espressione\ \b [a-zA-Z] Corrispondere a un singolo carattere dell'alfabeto inglese, entrambe queste condizioni sono dopo il confine di ogni parola.

Quindi, per cercare la lettera iniziale di ogni parola,

  • Compilazionecompile()l'espressione sopra menzionata dei metodi della classe Pattern.

  • Omettere la stringa di input necessaria comematcher()i parametri dei metodi della classe Pattern per ottenere l'oggetto Matcher.

  • Infine, per ogni corrispondenza, chiamandogroup()Metodo per ottenere i caratteri corrispondenti.

Esempio

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("Inserisci il testo di esempio: ");
      String data = sc.nextLine();
      String regex = "\\b[a-zA-Z]";
      //Creare un oggetto Pattern
      Pattern pattern = Pattern.compile(regex);
      //Creare un oggetto Matcher
      Matcher matcher = pattern.matcher(data);
      System.out.println("La prima lettera di ogni parola della stringa fornita: ");
      while(matcher.find()) {
         System.out.print(matcher.group()+" ");
      }
   }
}

Risultato di output

Inserisci il testo di esempio:
National Intelligence Agency Research & Analysis Wing
La prima lettera di ogni parola della stringa fornita:
N I A R A W
Ti potrebbe interessare