Método de substring VB.NET com EXEMPLO

⚡ Resumo Inteligente

Substring em VB.NettracO método `str()` extrai uma porção de uma String especificando um índice inicial e um comprimento opcional. Pertencente à classe `String`, ele conta os caracteres a partir de zero e retorna uma nova String sem alterar a original.

  • 🔢 Índice baseado em zero: O método Substring conta os caracteres a partir do índice 0, portanto a primeira letra de uma String fica na posição zero.
  • ☑️ Duas sobrecargas: Passar um argumento retorna tudo a partir desse índice, enquanto passar dois argumentos retorna um número fixo de caracteres.
  • ✂️ Extract por posição: Combine Substring com IndexOf ou LastIndexOf para capturar o texto antes ou depois de um caractere específico.
  • ⚠️ Indexação segura: Um índice negativo ou fora do intervalo gera uma exceção ArgumentOutOfRangeException, portanto, valide os valores antes de chamar o método.
  • 🔤 Resultado imutável: A função Substring retorna uma nova String e deixa a String original inalterada, o que corresponde à imutabilidade das strings do .NET.
  • 🤖 Assistência de IA: GitHub Copilot e IntelliCode No Visual Studio 2026, serão sugeridas chamadas Substring corretas e sinalizados índices fora do intervalo conforme você digita.

Substring em VB.Net

O que é uma substring?

A função Substring é usada para obter uma parte de uma string especificada. Este método é definido na classe String. Microsoft VB.NetVocê precisa especificar o índice inicial a partir do qual a string será executada.tracted. A string será extracted a partir desse índice até o comprimento que você especificar.

Antes do extracAo analisar o texto, é útil entender a sintaxe que o método Substring espera.

Sintaxe de Substring

A função aceita dois argumentos conforme mostrado na seguinte sintaxe:

Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String

Aqui,

  • A palavra-chave ByVal denota passagem por valor, que é um mecanismo de passagem de argumentos para funções.
  • O parâmetro `start_Index` é o índice a partir do qual a substring será obtida.
  • `sub_length` denota o comprimento até o qual a string será copiada a partir de `start_Index`. Esse comprimento é medido em termos do número de caracteres. A função retornará o valor de `ex`.tracsubstring ted.

O índice inicial é baseado em zero, portanto o primeiro caractere da string fica na posição 0 em vez da posição 1.

Com a sintaxe definida, os exemplos a seguir mostram o método Substring em funcionamento dentro de um aplicativo de console.

Exemplos

Passo 1) Crie um novo aplicativo de console.

Passo 2) Adicione o seguinte código:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(0, 4)

        Console.WriteLine("The substring is: {0}", subst)

        Console.ReadKey()
    End Sub

End Module

Passo 3) Clique no botão Iniciar na barra de ferramentas para executar o código. Você deverá obter o seguinte resultado:

Exemplo de saída de Substring em VB.Net

Usamos o seguinte código:

Exemplo de código Substring em VB.Net

Explicação de Code:

  1. Criando um módulo chamado Module1.
  2. Iniciando o subprocedimento principal.
  3. Definindo uma variável de string chamada st e atribuindo o valor Guru99 para isso.
  4. Definindo uma variável de string chamada 'subst' como uma substring da string 'st' a partir do índice 0 e com um comprimento de 4 caracteres.
  5. Imprimindo algum texto e a substring acima no console.
  6. Pausar a janela do console por um tempo, aguardando que o usuário tome medidas para fechá-la.
  7. Fim do subprocedimento principal.
  8. Fim do módulo.

Um argumento

E se passarmos apenas um argumento para a função? A função copiará todos os dados da String que começa nesse índice. O que acontece é que a função Substring copia internamente todos os dados da string naquele índice, bem como aqueles que seguem esse índice. Por exemplo:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(4)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Clique no botão Iniciar para executar o código. Deve retornar o seguinte:

Substring em VB.Net com um argumento

A função Substring retornou 99. Passamos o parâmetro 4 para a função, o que significa que ela começará a executar a string.tract é a substring do caractere no índice 4 até o final da string. 9 é o caractere no índice 4 da string. Guru99, portanto o extracA ação começou ali.

Além de remover caracteres de um único índice, o método Substring também pode selecionar caracteres no meio de uma string.

Personagens intermediários

Também é possível obter os caracteres do meio da String em questão. Neste caso, só precisamos fornecer o índice inicial e o comprimento da String que precisamos. No exemplo a seguir, estamos obtendo uma substring da String especificada do índice 2 e a String terá um comprimento de 2 caracteres:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(2, 2)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Clique no botão Iniciar na barra de ferramentas para executar o código. Você obterá o seguinte resultado:

Substring em VB.Net: caracteres intermediários

No exemplo acima, a função Substring retornou "ru". Passamos os parâmetros (2, 2) para a função. O primeiro 2 instrui a função a começar a substring.tracA primeira linha, `2`, instrui a função a retornar uma substring com apenas 2 caracteres de comprimento. Isso significa que o segundo `2` instrui a função a retornar uma substring com apenas 2 caracteres de comprimento.tracA origem da substring deve começar no elemento localizado no índice 2 da string. Guru99, que é r. Como a substring retornada deve ter apenas 2 caracteres, o extracA expressão não irá além do 'u', portanto retornou 'ru'.

Um caractere

Podemos usar a função Substring para obter um único caractere de uma string. Nesse caso, é necessário que você faça uma alocação, mas o personagem pode ser acessado diretamente. Isso é um pouco mais rápido. O exemplo a seguir demonstra duas maneiras pelas quais podemos conseguir isso:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim mid1 As Char = st(1)
        Console.WriteLine(mid1)

        Dim mid2 As String = st.Substring(1, 1)

        Console.WriteLine(mid2)

        Console.ReadKey()

    End Sub

End Module

Clique no botão Iniciar para executar o código. Você obterá o seguinte resultado:

Saída de substring de caractere único em VB.Net

Usamos o seguinte código:

Código de substring de caractere único em VB.Net

Explicação de Code:

  1. Criando um módulo chamado Module1.
  2. Iniciando o subprocedimento principal.
  3. Definindo uma variável de string chamada st e atribuindo o valor Guru99 para isso.
  4. Definindo uma variável string chamada mid1 e obtendo o caractere no índice 1 da String st. Este caractere será atribuído à variável mid1.
  5. Imprimindo o caractere acima no console.
  6. Definir uma variável de string chamada mid2 e obter o caractere no índice 1 com comprimento 1 da String st. O comprimento 1 significa que retornará o mesmo caractere no índice inicial. A contagem começa no índice inicial especificado. Este caractere será atribuído à variável mid2.
  7. Imprimindo o caractere acima no console.
  8. Pausar a janela do console por um tempo, aguardando que o usuário tome medidas para fechá-la.
  9. Fim do subprocedimento principal.
  10. Fim do módulo.

Assim que você se sentir confortável extracAo trabalhar com substrings, é importante saber como lidar com os erros que o método pode gerar.

Erros comuns de substring e como evitá-los

O método Substring é rigoroso quanto aos valores que você passa para ele. Quando um argumento está fora dos limites da string, o VB.Net lança uma exceção ArgumentOutOfRangeException e interrompe a execução do programa. Compreender as regras ajuda a evitar esse erro comum.

O método gera a exceção em três situações:

  • O índice inicial é um número negativo.
  • O índice inicial é maior que o comprimento da string.
  • A soma de start_Index e sub_length aponta para além do final da string.

Um erro frequente é usar o resultado da função `IndexOf` sem verificá-lo primeiro. Quando `IndexOf` não encontra o caractere, retorna -1, e passar -1 para `Substring` aciona a exceção. O código a seguir evita isso:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"
        Dim pos As Integer = st.IndexOf("9")

        If pos >= 0 Then
            Dim subst As String = st.Substring(pos)
            Console.WriteLine(subst)
        Else
            Console.WriteLine("Character not found")
        End If

        Console.ReadKey()
    End Sub

End Module

Validar o índice antes da chamada mantém seu aplicativo funcionando sem problemas, mesmo quando a string de entrada não contém o caractere esperado.

Obtendo uma substring antes ou depois de um caractere

Uma tarefa comum é extracO VB.Net não oferece uma função dedicada para isso, mas você pode combinar IndexOf com Substring para obter o resultado desejado.

Texto antes de um caractere: Chame a função IndexOf para localizar o caractere e, em seguida, passe esse índice como o comprimento para a função Substring:

Module Module1
    Sub Main()

        Dim email As String = "guru99@example.com"
        Dim position As Integer = email.IndexOf("@")

        Dim namePart As String = email.Substring(0, position)
        Console.WriteLine(namePart)

        Console.ReadKey()
    End Sub

End Module

O código imprime guru99, a parte da string que está antes do sinal @.

Texto após um caractere: Adicione 1 ao índice e deixe a função Substring percorrer toda a string até o final:

Dim domainPart As String = email.Substring(position + 1)
Console.WriteLine(domainPart)

Isso retorna example.com. Quando um caractere aparece mais de uma vez, use LastIndexOf em vez de IndexOf para começar a partir da última ocorrência em vez da primeira.

Substring vs. Funções Left, Right e Mid

O Visual Basic herda três funções de string legadas de versões anteriores: Left, Right e Mid. Elas estão localizadas no... MicrosoftO namespace .VisualBasic pode parecer mais familiar para desenvolvedores que vêm do VB clássico.

  • Esquerda(string, n) Retorna os primeiros n caracteres de uma string.
  • Direita(string, n) Retorna os últimos n caracteres de uma string.
  • Meio(corda, início, comprimento) Retorna uma porção a partir de uma posição inicial, de forma semelhante à função Substring.

A principal diferença reside na forma como contam as posições. A função `Mid` começa em 1, portanto o primeiro caractere ocupa a posição 1, enquanto o método `Substring` começa em 0. `Substring` é a abordagem padrão do .NET e se comporta da mesma maneira em todas as linguagens .NET, sendo, portanto, a escolha recomendada para novos códigos. Reserve `Left`, `Right` e `Mid` para a manutenção de projetos Visual Basic mais antigos.

Perguntas Frequentes

Sim. O método Substring começa em zero, então o primeiro caractere da string fica no índice 0, o segundo no índice 1 e assim por diante. Contar a partir de zero é importante ao calcular a posição inicial.

Não. Strings em VB.Net são imutáveis, portanto o método Substring nunca altera a String original. Ele retorna uma nova String que contém o texto original.traccaracteres ted, enquanto a string de origem mantém seu valor original inalterado.

Substring extracts é uma porção contínua de uma String usando um índice e um comprimento. Split Divide uma string em uma matriz de strings menores sempre que um delimitador, como uma vírgula ou um espaço, aparecer. Use `Split` para listas e `Substring` para fatias.

Passar um comprimento de 0 retorna uma string vazia (“”), e não Nothing. A chamada é válida e não gera uma exceção, desde que o índice inicial ainda esteja dentro dos limites da string.

O método `substring` mantém a parte da string especificada e descarta o restante. O método `remove` faz o oposto: ele remove os caracteres a partir de um índice específico e retorna a string restante. São operações complementares.

Sim. Espaços, tabulações e pontuação contam como um caractere cada quando o método Substring calcula o índice inicial e o comprimento. Cada posição na string, incluindo espaços em branco, faz parte da contagem, não apenas as letras visíveis.

Sim. Travas deslizantes portáteis Copiloto do GitHub No Visual Studio 2026, um comentário em linguagem simples, como por exemplo, é transformado em um comentário em inglês simples.tracAo inserir o texto antes de uma vírgula, transforme-o em uma chamada Substring funcional com IndexOf. Sempre revise os índices gerados para confirmar se eles permanecem dentro do intervalo.

Sim. O Visual Studio 2026 integra o GitHub Copilot com IntelCode Para sinalizar índices provavelmente fora do intervalo, sugerir argumentos corretos e completar chamadas Substring conforme você digita, ajudaping Você pode evitar uma exceção ArgumentOutOfRangeException antes de executar o programa.

Resuma esta postagem com: