Maiuscole / minuscole contiene la funzione stringa in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Crea funzione contenente case-insensitive con la funzione string.IndexOf() in C#
  2. Creare una funzione Contiene senza distinzione tra maiuscole e minuscole con la classe CultureInfo in C#
Maiuscole / minuscole contiene la funzione stringa in C#

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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Articolo correlato - Csharp String