How to delete the first and last name of a string

0

Original:

string nome = "João da Conceição Lopes";

Expected result:

string nomesDoMeio = "da Conceição";
    
asked by anonymous 01.12.2016 / 12:28

1 answer

4

There are several ways to do this. The simplest is to use the methods IndexOf and LastIndexOf combined with the < a href="https://msdn.microsoft.com/en-us/library/aka44szs(v=vs.110).aspx"> Substring .

using System;
using static System.Console;        

public class Program
{
    public static void Main()
    {
        string nome = "João da Conceição Lopes";

        //obtém o indíce do primeiro espaço na string
        int i = nome.IndexOf(" ");

        //"corta" a string a partir do primeiro espaço (posição + 1 pra excluir o mesmo)
        nome = nome.Substring(i + 1);
        WriteLine(nome);

        //corta novamente string, começando pela posição 0 e indo até a posição do último espaço
        string nomeMeio = nome.Substring(0, nome.LastIndexOf(" "));
        WriteLine(nomeMeio);
    }
}

See working in .NET Fiddle

    
01.12.2016 / 12:40