Maiuscole / minuscole contiene la funzione stringa in C#
-
Crea funzione contenente case-insensitive con la funzione
string.IndexOf()
inC#
-
Creare una funzione Contiene senza distinzione tra maiuscole e minuscole con la classe
CultureInfo
inC#
Questo tutorial introdurrà metodi per creare una funzione che controlla se una stringa contiene un’altra stringa senza distinzione tra maiuscole e minuscole in C#.
Crea funzione contenente case-insensitive con la funzione string.IndexOf()
in C#
Quando parliamo di stringhe senza distinzione tra maiuscole e minuscole, il primo istinto è pensare alle funzioni string.ToUpper()
e string.ToLower()
. Ma non è un buon approccio perché molti caratteri vengono modificati in lettere completamente diverse nell’alfabeto dopo queste funzioni. Se vogliamo veramente creare una funzione di controllo contenente distinzione tra maiuscole e minuscole in C#, dobbiamo utilizzare alcuni approcci diversi.
La funzione string.IndexOf(string1, StringComparison)
è usata per ottenere la prima occorrenza del parametro string1
all’interno della stringa
secondo il tipo di confronto specificato dal parametro StringComparison
. Restituisce un valore intero che rappresenta il primo indice in cui il parametro string1
ricorre all’interno della stringa
. Il parametro StringComparison.OrdinalIgnoreCase
specifica al compilatore di ignorare il caso mentre trova l’indice. Il seguente esempio di codice ci mostra come possiamo creare una funzione contains(string)
senza distinzione tra maiuscole e minuscole con la funzione string.IndexOf()
e StringComparison.OrdinalIgnoreCase
come parametro in 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);
}
}
}
}
Produzione:
string is present in This is the Main String
Abbiamo creato una funzione contiene senza distinzione tra maiuscole e minuscole per determinare se la stringa wordToCheck
fosse presente nella stringa mainString
con la funzione string.IndexOf()
e StringComparison.OrdinalIgnoreCase
come parametro in C#. Abbiamo memorizzato il risultato del confronto all’interno di una variabile booleana result
e visualizzato la risposta.
Creare una funzione Contiene senza distinzione tra maiuscole e minuscole con la classe CultureInfo
in C#
La classe CultureInfo
contiene informazioni su culture diverse come nome, stile di scrittura, tipo di calendario utilizzato e molto altro. La funzione CultureInfo.CompareInfo.IndexOf()
viene utilizzata per determinare l’indice della prima occorrenza di una stringa all’interno dell’altra stringa della stessa cultura. Possiamo usare CompareOptions.IgnoreCase
come parametro per ignorare le maiuscole / minuscole durante la ricerca dell’indice. Il seguente esempio di codice ci mostra come creare una funzione contains (stringa)
senza distinzione tra maiuscole e minuscole con la funzione CultureInfo.CompareInfo.IndexOf()
e CompareOptions.IgnoreCase
come parametro in 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);
}
}
}
}
Produzione:
string is present in This is the Main String
Abbiamo creato una funzione contiene senza distinzione tra maiuscole e minuscole per determinare se la stringa wordToCheck
fosse presente nella stringa mainString
con la funzione CultureInfo.CompareInfo.IndexOf()
e CompareOptions.IgnoreCase
come parametro in C#. Abbiamo memorizzato il risultato del confronto all’interno di una variabile booleana result
e visualizzato la risposta.
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