2

Como fazer para deletar uma parte da string até chegar no caractere ":". Consegui fazer apagar depois ":", usando o código abaixo:

Exemplo String: uma_frase_aleatória: Ronison

string url = empresaweb2;
string resultado = url.Substring(0, url.IndexOf(':'));
txbEmpresa.Text = resultado;

Resultado: uma_frase_aleatória

Sendo que o resultado que eu desejo é apenas o nome: Ronison

Lembrando que eu não sei o tamanho da frase antes do nome.

1
  • 1
    Tente isto... url.Substring(url.IndexOf(':'), url.Length - 1); Você inicia o substring a partir do ponto onde está : e vai até o final da string Commented 29/01/2019 às 14:07

2 Respostas 2

6

No seu código não tem porque você remover nada, e nem é possível em C# padrão. Você pega uma outra parte do código.

Você pode pegar da posição atual até o fim. Mas não se esqueça de verificar se achou o caractere que está buscando, caso contrário dará erro e sua aplicação quebrará.

using static System.Console;

public class Program {
    static void Main() {
        var url = "http://abc.com";
        var posicao = url.IndexOf(':');
        if (posicao < 0) return; //aqui você trata como quiser se não achar a string
        WriteLine(url.Substring(posicao));
        WriteLine(url[posicao..]); //só para C# 8
    }
}

Veja funcionando no ideone. E no .NET Fiddle. Também coloquei no GitHub para referência futura.

Na segunda linha sendo impressa estou usando C# 8 que tem a vantagem de ser mais rápido e não fazer alocação.

No seu código:

var posicao = empresaweb2.IndexOf(':');
if (posicao < 0) return; //aqui você trata como quiser se não achar a string
txbEmpresa.Text = empresaweb2.Substring(posicao);
5

Exemplo simples

Veja este exemplo para melhor entendimento do código

string url = "uma_frase_aleatória: Ronison";
string resultado = url.Split(':')[url.Split(':').Length - 1];
Console.Write(resultado);

Executar

O método Split divide a string em um array, a divisão é feita utilizando o char ':', então em cada ocorrência do ':' e criado uma nova string ou seja a string "uma_frase_aleatória: Ronison" se torna no array

[ "uma_frase_aleatória", " Ronison" ]

E então pegamos o ultimo índice no array que é

" Ronison"

Com o seu código

Agora aplicando a mesma ideia mas no seu código

string url = empresaweb2;
string resultado = url.Split(':')[url.Split(':').Length - 1];
txbEmpresa.Text = resultado;
1
  • 1
    Obrigado a todos! Consegui fazer seguindo o método do @Wictor Chaves. Abraço! Commented 30/01/2019 às 11:25

Você deve fazer log-in para responder a esta pergunta.

Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag .