Función Case Insensitive Contains String en C#
-
Cree una función de contenido que no distinga entre mayúsculas y minúsculas con la función
string.IndexOf()
enC#
-
Cree una función Contains que no distinga entre mayúsculas y minúsculas con la clase
CultureInfo
enC#
Este tutorial presentará métodos para crear una función que verifique si una cadena contiene otra cadena de una manera que no distingue entre mayúsculas y minúsculas en C#.
Cree una función de contenido que no distinga entre mayúsculas y minúsculas con la función string.IndexOf()
en C#
Cuando hablamos de cadenas que no distinguen entre mayúsculas y minúsculas, el primer instinto es pensar en las funciones string.ToUpper()
y string.ToLower()
. Pero no es un buen enfoque porque muchos caracteres se cambian a letras completamente diferentes en el alfabeto después de estas funciones. Si realmente queremos crear una función de verificación que contenga mayúsculas y minúsculas en C#, tenemos que usar algunos enfoques diferentes.
La función string.IndexOf(string1, StringComparison)
se utiliza para obtener la primera aparición del parámetro string1
dentro de la cadena
de acuerdo con el tipo de comparación especificado por el parámetro StringComparison
. Devuelve un valor entero que representa el primer índice donde aparece el parámetro string1
dentro de la cadena
. El parámetro StringComparison.OrdinalIgnoreCase
especifica al compilador que ignore el caso mientras busca el índice. El siguiente ejemplo de código nos muestra cómo podemos crear una función contains(string)
que no distingue entre mayúsculas y minúsculas con la función string.IndexOf()
y StringComparison.OrdinalIgnoreCase
como parámetro en C#.
using System;
using System.Globalization;
namespace case_insensitive_string_contains {
class Program {
static void Main(string[] args) {
string mainString = "This is the Main String";
string wordToCheck = "string";
bool result = mainString.IndexOf(wordToCheck, StringComparison.OrdinalIgnoreCase) >= 0;
if (result == true) {
Console.WriteLine("{0} is present in {1}", wordToCheck, mainString);
} else {
Console.WriteLine("{0} is not present in {1}", wordToCheck, mainString);
}
}
}
}
Producción :
string is present in This is the Main String
Creamos una función contiene que no distingue entre mayúsculas y minúsculas para determinar si la cadena wordToCheck
estaba presente en la cadena mainString
con la función string.IndexOf()
y StringComparison.OrdinalIgnoreCase
como parámetro en C#. Almacenamos el resultado de la comparación dentro de una variable booleana result
y mostramos la respuesta.
Cree una función Contains que no distinga entre mayúsculas y minúsculas con la clase CultureInfo
en C#
La clase CultureInfo
contiene información sobre diferentes culturas como el nombre, el estilo de escritura, el tipo de calendario utilizado y mucho más. La función CultureInfo.CompareInfo.IndexOf()
se utiliza para determinar el índice de la primera aparición de una cadena dentro de la otra cadena de la misma cultura. Podemos usar CompareOptions.IgnoreCase
como parámetro para ignorar el caso mientras buscamos el índice. El siguiente ejemplo de código nos muestra cómo podemos crear una función contains(string)
que no distingue entre mayúsculas y minúsculas con la función CultureInfo.CompareInfo.IndexOf()
y CompareOptions.IgnoreCase
como parámetro en C#.
using System;
using System.Globalization;
namespace case_insensitive_string_contains {
class Program {
static void Main(string[] args) {
string mainString = "This is the Main String";
string wordToCheck = "string";
CultureInfo culture = new CultureInfo("");
bool result =
culture.CompareInfo.IndexOf(mainString, wordToCheck, CompareOptions.IgnoreCase) >= 0;
if (result == true) {
Console.WriteLine("{0} is present in {1}", wordToCheck, mainString);
} else {
Console.WriteLine("{0} is not present in {1}", wordToCheck, mainString);
}
}
}
}
Producción :
string is present in This is the Main String
Creamos una función contiene que no distingue entre mayúsculas y minúsculas para determinar si la cadena wordToCheck
estaba presente en la cadena mainString
con la función CultureInfo.CompareInfo.IndexOf()
y CompareOptions.IgnoreCase
como parámetro en C#. Almacenamos el resultado de la comparación dentro de una variable booleana result
y mostramos la respuesta.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn