Dada uma string, extraia palavras dela. “Palavras” são definidas como sequências contíguas de caracteres alfabéticos, ou seja, quaisquer caracteres maiúsculos ou minúsculos az ou AZ.

Exemplos:

Input : Funny?? are not you?
Output : Funny
         are
         not
         you

Input : Geeks for geeks?? 
Output : Geeks
         for
         geeks

Discutimos uma solução para C++ neste artigo: Programa para extrair palavras de uma determinada String

Também discutimos a abordagem básica para java nestes posts: Contando o número de linhas, palavras, caracteres e parágrafos em um arquivo de texto usando Java e Imprimir a primeira letra da palavra usando Regex .

Nesta postagem, discutiremos a abordagem da Expressão Regular para fazer o mesmo. Essa abordagem é melhor em termos de complexidade de tempo e também é usada para arquivos de entrada grandes. Abaixo está a expressão regular para qualquer palavra.

[a-zA-Z]+
// Java program to demonstrate extracting words
// from string using Regex
  
import java.util.regex.Matcher;
import java.util.regex.Pattern;
  
public class Test 
{
    public static void main(String[] args) 
    {
        String s1 = "Geeks for Geeks";
        String s2 = "A Computer Science Portal for Geeks";
          
        Pattern p = Pattern.compile("[a-zA-Z]+");
          
        Matcher m1 = p.matcher(s1);
        Matcher m2 = p.matcher(s2);
          
        System.out.println("Words from string \"" + s1 + "\" : ");
        while (m1.find()) {
            System.out.println(m1.group());
        }
          
        System.out.println("Words from string \"" + s2 + "\" : ");
        while (m2.find()) {
            System.out.println(m2.group());
        }
          
    }
}

Saída:

Words from string "Geeks for Geeks" : 
Geeks
for
Geeks
Words from string "A Computer Science Portal for Geeks" : 
A
Computer
Science
Portal
for
Geeks

Este artigo é uma contribuição de Gaurav Miglani . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar o seu artigo para contribute@geeksforgeeks.org. Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.

Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.