C# の大文字と小文字を区別しない文字列関数が含まれています

Muhammad Maisam Abbas 2024年2月16日
  1. C# で string.IndexOf() 関数を使用して大文字と小文字を区別しない包含関数を作成する
  2. C# で CultureInfo クラスを使用して大文字と小文字を区別しない Contains 関数を作成する
C# の大文字と小文字を区別しない文字列関数が含まれています

このチュートリアルでは、C# で大文字と小文字を区別しない方法で文字列に別の文字列が含まれているかどうかをチェックする関数を作成する方法を紹介します。

C# で string.IndexOf() 関数を使用して大文字と小文字を区別しない包含関数を作成する

大文字と小文字を区別しない文字列について話すとき、最初の本能は string.ToUpper() および string.ToLower() 関数。しかし、これらの機能の後に多くの文字がアルファベットの完全に異なる文字に変更されるため、これは良いアプローチではありません。C# で大文字と小文字を区別しない包含チェック関数を本当に作成したい場合は、いくつかの異なるアプローチを使用する必要があります。

string.IndexOf(string1, StringComparison) 関数は、StringComparison パラメーターで指定された比較タイプに従って、string 内で最初に出現する string1 パラメーターを取得するために使用されます。string1 パラメータが string 内で発生する最初のインデックスを表す整数値を返します。StringComparison.OrdinalIgnoreCase パラメーターは、インデックスの検索中にケースを無視するようにコンパイラーに指定します。次のコード例は、C# のパラメーターとして string.IndexOf() 関数と StringComparison.OrdinalIgnoreCase を使用して、大文字と小文字を区別しない contains(string) 関数を作成する方法を示しています。

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);
      }
    }
  }
}

出力:

string is present in This is the Main String

大文字と小文字を区別しない contains 関数を作成して、C# のパラメーターとして string.IndexOf() 関数と StringComparison.OrdinalIgnoreCase を使用して、wordToCheck 文字列が mainString 文字列に存在するかどうかを判断しました。比較の結果をブール変数 result 内に保存し、回答を表示しました。

C# で CultureInfo クラスを使用して大文字と小文字を区別しない Contains 関数を作成する

CultureInfo クラスには、名前などのさまざまなカルチャに関する情報が含まれています。文体、使用するカレンダーの種類など。CultureInfo.CompareInfo.IndexOf() 関数は、同じカルチャの他の文字列内で 1つの文字列が最初に出現するインデックスを決定するために使用されます。CompareOptions.IgnoreCase をパラメーターとして使用して、検索時に大文字と小文字を区別することができます。インデックス。次のコード例は、C# のパラメーターとして CultureInfo.CompareInfo.IndexOf() 関数と CompareOptions.IgnoreCase を使用して、大文字と小文字を区別しない contains(string) 関数を作成する方法を示しています。

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);
      }
    }
  }
}

出力:

string is present in This is the Main String

大文字と小文字を区別しない contains 関数を作成し、C# のパラメーターとして CultureInfo.CompareInfo.IndexOf() 関数と CompareOptions.IgnoreCase を使用して、wordToCheck 文字列が mainString 文字列に存在するかどうかを判断しました。比較の結果をブール変数 result 内に保存し、答えを表示しました。

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

関連記事 - Csharp String