Boa noite.

Gostaria de usar em um código no C# o metodo "Contains" , mas ao invés de passar uma string literal , ou seja, uma palavra específica, passar um padrão ou uma expressão regular como parametro. Por exemplo:

Ao invés de passar :

bool nomeDaVariavel.Contains("#NUSAPRO");

passar algo como:

String verifica = @"^#/[A-Z]{1,7}";
//Padrão que captura qualquer String que comece com o "#", seguido de um a sete caracteres de A a Z em caixa grande

bool nomeDaVariavel.Contains(verifica);

Com certeza a sintaxe esta errada, mas é só para ter uma idéai do que pretendo.

Se puderem ajudar, fico grato.


Exibições: 491

Responder esta

Respostas a este tópico

Sergio, boa tarde!

Fiz o seguinte teste usando o método Match e funcionou.

Só que eu tive que mudar o seu padrão para @"#[A-Z]{1,7}"

Caracter # seguido de 1 a 7 letras Maiúsculas de A a Z

Usei o exemplo do link: https://msdn.microsoft.com/pt-br/library/twcw2f1c%28v=vs.110%29.aspx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = "123#NUSAP123";
            string pat = @"#[A-Z]{1,7}";

            
            Regex r = new Regex(pat, RegexOptions.IgnoreCase);

            
            Match m = r.Match(text);
            
            bool contem = m.Success;
            if (contem == true)
            {
                System.Console.WriteLine("Encontrei");
            }
            else
            {
                System.Console.WriteLine("Não Encontrei");
                
            }
            System.Console.ReadKey();
        }
    }
}

Jose Augusto.Mais uma que vc me ajuda! Muito obrigado.Fiz uma pequena adaptação mas funcionou como queria,Valeu cara vc é fera!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço