Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Extraindo o valor de uma moeda

Normalmente, eu expresso valores monetários sem espaço entre R$ valor mas eu poderia ter colocado também.

using System.Text.RegularExpressions;

var regexDinheiro = @"R\$\d*\d,\d\d";

Console.Write("Digite o texto do recibo: ");
string recibo = Console.ReadLine() ?? "";

var dinheiro = Regex.Match(recibo, regexDinheiro);
Console.WriteLine($"Valor encontrado: {dinheiro.Value}");
1 resposta
solução!

Oii, Diego!

Parabéns por concluir o exercício Extraindo o valor de uma moeda. Seu código ficou ótimo e resolve muito bem o problema de localização de padrões monetários dentro de um texto.

O ponto forte da sua solução foi o uso correto do escape na construção da Regex: R\$. Como o símbolo do cifrão ($) possui um significado especial no universo das expressões regulares (indicando o final de uma linha ou string), colocar a barra invertida antes dele é fundamental para avisar o motor do C# que você está buscando o caractere de texto puro do cifrão.

Na sua visão, adicionar essa flexibilidade para aceitar espaços opcionais ajuda a prevenir falhas de leitura quando o sistema precisa processar textos digitados por pessoas diferentes?

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