Get value from inside a String C #

0

I need to get the value inside a string dynamically. The string values will always be in the following format:

Ex1: "Aprovados por autorizantes da aplicação -> Fiscal Mestre"
Ex2: "Aprovados por autorizantes da aplicação -> Analista CAU"
Ex3: "Aprovados por autorizantes da aplicação -> ESCR-PREC-PILOTO"

The value I need is the one that starts after - > and ends before "that is:

Ex1: Fiscal Mestre
Ex2: Analista CAU
Ex3: ESCR-PREC-PILOTO

A note after - > is always a space.

    
asked by anonymous 01.03.2018 / 20:01

2 answers

4

You can find the index of > by Method IndexOf :

string valor = teste.Substring(teste.IndexOf(">")+1).Trim();

Or Use a Split:

string valor2 = teste.Split('>')[1].Trim();

Example:

public class Program
{
    public static void Main()
    {
        string teste = "Aprovados por autorizantes da aplicação -> Fiscal Mestre";

        string valor = teste.Substring(teste.IndexOf(">")+1).Trim();
        string valor2 = teste.Split('>')[1].Trim();

        Console.WriteLine("Com indexof: "+ valor);
        Console.WriteLine("Com Split: "+ valor2);
    }
}
  

Result:

     

With IndexOf: Master Attorney

     

With Split: Master Fiscal

I put it in DotNetFiddle: link

    
01.03.2018 / 20:05
1

One SIMPLE way to do this is to use replace () :

Ex1 = "Aprovados por autorizantes da aplicação -> Fiscal Mestre"
Ex2 = "Aprovados por autorizantes da aplicação -> Analista CAU"
Ex3 = "Aprovados por autorizantes da aplicação -> ESCR-PREC-PILOTO"

Ex1 = Ex1.Replace("Aprovados por autorizantes da aplicação -> ", string.Empty);
Ex2 = Ex2.Replace("Aprovados por autorizantes da aplicação -> ", string.Empty);
Ex3 = Ex3.Replace("Aprovados por autorizantes da aplicação -> ", string.Empty);
    
01.03.2018 / 20:08