Ir para o conteúdo

Cortar String Longa.


Criado por Ivan Teles, Out 04 2010 13:30

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 Ivan Teles

Ivan Teles
  • Ivan Teles
  • Colaborador
  • 7 Revisões

Revisou 04 outubro 2010 - 13:30

Muitas das vezes precisamos cortar um texto em determinado número de caracteres e colocar reticências, e para agilizar neste tipo de problema segue um método que ajudará e muito neste sentido.
public string CortarString(string textCrop, int num, string trail)
        {
            var result = "";
            var rx = new Regex("<[^>]*>");
            textCrop = rx.Replace(textCrop, "");
            var iMax = num - trail.Length;
            if (iMax <= 0)
            {
                result = "";
            }
            if (textCrop.Length <= num)
            {
                result = textCrop;
            }
            else
            {
                try
                {
                    var sOut = textCrop.Substring(0, num);
                    var iPos = sOut.LastIndexOf(" ");
                    if (iPos != -1)
                    {
                        return sOut.Substring(0, iPos) + trail;
                    }
                    iPos = sOut.Length;
                    return sOut.Substring(0, iPos) + trail;
                }
                catch (Exception ex)
                {
                    Erros.FormataErro(ex);
                }
            }
            return result;
        }
Para utilização basta chamar o metodo e passar os parametros:
textCrop = seu texto completo
num = quatidade de caracteres que vc deseja exibir
trail = o que você quer no final do corte ex: "...", "."
Observação: ao passar seu texto para o método, ele remover qualquer tipo de tag HTML.




1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)