1
resposta

[Projeto] Hashtags

import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Hashtag {
    static void main(String[] args) {
       Scanner ler = new Scanner(System.in);

        System.out.println("Digite o texto");
        String texto = ler.nextLine();

        Pattern padrao = Pattern.compile("#\\w+");
        Matcher verificar = padrao.matcher(texto);

        ArrayList<String> hashtags = new ArrayList<>();

        while (verificar.find()){
            hashtags.add(verificar.group());
        }

        if (hashtags.isEmpty()){
            System.out.println("Nenhuma hashtag encontrada.");
        }else {
            System.out.println("Hashtags encontradas: " + String.join(", ", hashtags));
        }
        ler.close();
    }
}
1 resposta

Oi, Gabriel! Como vai?

Agradeço por compartilhar.

Gostei da forma como você utilizou Pattern e Matcher para extrair as hashtags e armazená-las em uma lista, isso mostra um bom domínio inicial de regex. Também ficou bem organizado o fluxo com verificação de lista vazia e uso do String.join, deixando a saída mais limpa.

Uma dica interessante para o futuro é usar grupos na regex para capturar partes específicas do texto, caso você queira refinar ainda mais o resultado.


Pattern padrao = Pattern.compile("#(\\w+)");
Matcher matcher = padrao.matcher(texto);

while (matcher.find()) {
    String tag = matcher.group(1);
    System.out.println(tag);
}

Esse código captura apenas o texto da hashtag sem o #, usando grupo de captura ( ), o que pode ser util dependendo do uso.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!