Não diferencia maiúsculas de minúsculas e contém função de string em C#
-
Criar função contendo não sensível a maiúsculas e minúsculas com a função
string.IndexOf()
emC#
-
Crie uma função que não diferencia maiúsculas de minúsculas com a classe
CultureInfo
emC#
Este tutorial apresentará métodos para criar uma função que verifica se uma string contém outra string de forma insensível a maiúsculas e minúsculas em C#.
Criar função contendo não sensível a maiúsculas e minúsculas com a função string.IndexOf()
em C#
Quando falamos sobre strings que não diferenciam maiúsculas de minúsculas, o primeiro instinto é pensar sobre as funções string.ToUpper()
e string.ToLower()
. Porém, não é uma boa abordagem porque muitos caracteres são alterados para letras completamente diferentes no alfabeto após essas funções. Se realmente quisermos criar uma função de verificação que não faça distinção entre maiúsculas e minúsculas em C#, temos que usar algumas abordagens diferentes.
A função string.IndexOf(string1, StringComparison)
é usada para obter a primeira ocorrência do parâmetro string1
dentro da string
de acordo com o tipo de comparação especificado pelo parâmetro StringComparison
. Ele retorna um valor inteiro que representa o primeiro índice onde o parâmetro string1
ocorre dentro da string
. O parâmetro StringComparison.OrdinalIgnoreCase
especifica para o compilador ignorar o caso ao localizar o índice. O exemplo de código a seguir nos mostra como podemos criar uma função contains(string)
sem distinção entre maiúsculas e minúsculas com a função string.IndexOf()
e StringComparison.OrdinalIgnoreCase
como o parâmetro em 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);
}
}
}
}
Resultado:
string is present in This is the Main String
Criamos uma função contém não sensível a maiúsculas e minúsculas para determinar se a string wordToCheck
estava presente na string mainString
com a função string.IndexOf()
e StringComparison.OrdinalIgnoreCase
como o parâmetro em C#. Armazenamos o resultado da comparação dentro de uma variável booleana result
e exibimos a resposta.
Crie uma função que não diferencia maiúsculas de minúsculas com a classe CultureInfo
em C#
A classe CultureInfo
contém informações sobre diferentes culturas, como nome, estilo de escrita, tipo de calendário usado e muito mais. A função CultureInfo.CompareInfo.IndexOf()
é usada para determinar o índice da primeira ocorrência de uma string dentro da outra string da mesma cultura. Podemos usar o CompareOptions.IgnoreCase
como um parâmetro para ignorar maiúsculas e minúsculas ao encontrar o índice. O exemplo de código a seguir nos mostra como podemos criar uma função contains(string)
que não diferencia maiúsculas de minúsculas com a função CultureInfo.CompareInfo.IndexOf()
e CompareOptions.IgnoreCase
como o parâmetro em 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);
}
}
}
}
Resultado:
string is present in This is the Main String
Criamos uma função contém não sensível a maiúsculas e minúsculas para determinar se a string wordToCheck
estava presente na string mainString
com a função CultureInfo.CompareInfo.IndexOf()
e CompareOptions.IgnoreCase
como o parâmetro em C#. Armazenamos o resultado da comparação dentro de uma variável booleana result
e exibimos a resposta.
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