Les petites funcions sempre cal tenir-les a mà. Es fan servir un cop, i un altra, i un altra... Aquesta és una d'aquelles funcions que sempre estem repetint.
Donat un string com per exemple: "Lorem ipsum dolor sit amet, 'consectetur' adipisici elit". Es vol obtenir "consectetur", es a dir el text que està entre els '. Per això es pot fer:
string Text = "Lorem ipsum dolor sit amet, 'consectetur' adipisici elit";
string Resultat = SubString(Text, "'", "'");
public string SubString(string OnBusquem, string CaracterInicial, string CaracterFinal)
{
int Inici = OnBusquem.IndexOf(CaracterInicial) + CaracterInicial.Length;
int Fi = OnBusquem.IndexOf(CaracterFinal, Inici);
return OnBusquem.Substring(Inici, Fi - Inici);
}
També es pot fer d'una altra manera amb el mateix resultat:
string Text = "Lorem ipsum dolor sit amet, 'consectetur' adipisici elit";
string Resultat = SubString(Text, "'", "'");
public string SubString(string OnBusquem, string CaracterInicial, string CaracterFinal)
{
return OnBusquem.Split(new char[] { CaracterInicial[0], CaracterFinal[0] })[1];
}
Quina és millor? Quina s'entén millor? Per gustos els colors. Encara que a mi m'agrada més la primer opció ja que té algo més de flexibilitat. Per exemple, imaginem que enlloc que el separador sigui un caràcter, que sigui varis. Com quan volem extreure un valor de dins d'un string XML (sense muntar l'objecte XML), quedaria algo com:
string Buscar = "dasjdhasdjkah<abcd>Lorem ipsum</abcd>dsadadadsadasds";
string resultat = SubString(Buscar, "<abcd>", "</abcd>");
|