Substring C#

Com o método substring podemos pegar um pedaço da string no C#.
Devemos passar como parâmetro a posição inicial seguida do número de caracteres que devem ser extraídos a partir da posição inicial.



string produto = "TV de Plasma 42 pol. com DVD e TV Digital";

string codigoProduto = produto.Substring(0, 12);
//Armazeno na string codigoProduto o valor "TV de Plasma"


Traduzindo: Quando quiser pegar um pedaço de uma string, ou seja, uma substring, basta fazer igual o exemplo.

No exemplo, eu crio uma string chamada “produto” e informo um valor para ela.
Só que na hora de exibir isso para o usuário preciso de algo menor, só um código do produto com algumas iniciais, então crio a string “codigoProduto”, nela armazeno uma substring(pedaço) da string produto, onde “0” é a posição inicial (obs. inicio com 0 e não com 1) e onde “12” é o número de caracteres que devo pegar após a posição “0”.

7 Comentários


  1. Valeu pela dica do Substring, me ajudou muito!

    Abraço.

    Willian Fakri Bratkauskas

    Responder

  2. Uma dúvida:
    E se eu quiser pegar apenas o pedaço de um texto apenas para amostra, como por exemplo uma prévia de uma notícia.
    Imagine um texto que pode ter no maximo 500 chars, mas eu quero limitar para que mostre apenas 100.
    Nesse caso o substring só funcionará caso o usuário informar no MINIMO 100 chars.. se ele informar menos que isso vai dar problema com o length, certo?

    Gostaria de saber qual a solução pro problema.
    Obrigado.

    Responder

    1. Ola Rafael. Nesse caso você pode fazer uma validação. Por exemplo:

      string noticia = “Sua noticia com 100 caracteres”;
      if(noticia.Lenght>100)
      noticia.substring(0, 100);

      Espero ter ajudado 😉
      Abraço.
      César

      Responder

      1. Senhores,

        Neste caso, na verdade, para 100 caracteres, o correto seria:

        if (noticia.Lenght > 100) {
        noticia.Substring(0, 99);
        }

        Abraço.

        Responder

  3. Ola, e se eu quiser pegar os 10 primeiros caracteres no máximo ou ate encontrar um espaco (“”) caso seja menor que 10.

    Aguardo.

    Responder

    1. Imagino que fique assim, mano:

      noticia = noticia.substring(0,noticia.firstIndexOf(”,10));

      Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*