Descubra cómo usar IndexOfRange() en C#
Aprenda a utilizar la función IndexOfRange() para mejorar su programación en C#
La función IndexOfRange() es una herramienta útil en el lenguaje de programación C# que permite encontrar el primer índice de un subconjunto de caracteres específicos dentro de una cadena de texto. Esta función se puede utilizar en situaciones comunes de programación, como la búsqueda de patrones en cadenas de texto y la validación de datos entrantes.
1. Buscar un rango de caracteres en una cadena
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
int indiceRango = cadena.IndexOfAny(rango);
if (indiceRango != -1)
{
Console.WriteLine("Encontrado: " + new string(rango));
}
}
2. Encontrar una subcadena dentro de un rango específico
string cadena = "1234567890";
int[] rangosDeCaracteres = { {'1', '9'} };
foreach (var rango in rangosDeCaracteres)
{
int indiceRango = cadena.IndexOfAny(rango);
if (indiceRango != -1)
{
Console.WriteLine("Encontrado: " + cadena.Substring(indiceRango, rango.Length));
}
}
3. Comprobar si una cadena contiene un rango de caracteres
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
bool contieneRango = rangosDeCaracteres.All(r => cadena.IndexOfAny(r) != -1);
Console.WriteLine("Contiene rango: " + contieneRango);
4. Encontrar el primer carácter de un rango en una cadena
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
int indiceRango = cadena.IndexOfAny(rango);
if (indiceRango != -1)
{
Console.WriteLine("Primer carácter: " + cadena[indiceRango]);
break;
}
}
5. Encontrar el último carácter de un rango en una cadena
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
for (int i = cadena.Length - 1; i >= 0; i--)
{
if (cadena[i] == rango[0])
{
Console.WriteLine("Último carácter: " + cadena[i]);
break;
}
}
}
6. Encontrar todas las ocurrencias de un rango de caracteres en una cadena
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
int indiceRango = cadena.IndexOfAny(rango);
while (indiceRango != -1)
{
Console.WriteLine("Ocurrencia: " + new string(rango));
indiceRango = cadena.IndexOfAny(rango, indiceRango + rango.Length);
}
}
7. Encontrar el primer carácter de un rango en una cadena que no se repite
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
int indiceRango = cadena.IndexOfAny(rango);
if (indiceRango != -1)
{
while (cadena.IndexOfAny(rango, indiceRango) != -1)
{
indiceRango = cadena.IndexOfAny(rango, indiceRango + 1);
}
Console.WriteLine("Primer carácter: " + cadena[indiceRango]);
break;
8. Encontrar el último carácter de un rango en una cadena que no se repite
string cadena = "Hola Mundo";
int[] rangosDeCaracteres = { {'h', 'n'}, {'u', 'o'} };
foreach (var rango in rangosDeCaracteres)
{
for (int i = cadena.Length - 1; i >= 0; i--)
{
if (cadena[i] == rango[0])
{
while (cadena.Substring(i).IndexOfAny(rango) != -1)
{
i = cadena.Length - 1 - cadena.Length + i;
}
Console.WriteLine("Último carácter: " + cadena[i]);
break;
Conclusión
La función IndexOfRange() es una herramienta valiosa para los desarrolladores de C# que buscan mejorar la eficiencia y precisión de sus programas. Al utilizar esta función, puede encontrar fácilmente subcadenas dentro de cadenas más grandes y validar datos entrantes con mayor facilidad. Asegúrese de comprender su uso correcto y aplícalo en sus proyectos futuros para obtener mejores resultados.