在 C# 中不区分大小写的字符串包含函数
本教程将介绍如何在 C# 中以不区分大小写的方式创建一个检查字符串是否包含另一个字符串的函数。
在 C# 中使用 string.IndexOf()
函数创建不区分大小写的包含函数
当我们谈论不区分大小写的字符串时,第一个直觉是考虑 string.ToUpper()
和 string.ToLower()
函数。但是,这不是一个好方法,因为在执行这些函数后,许多字符会会变成完全不同的字母。如果我们确实想在 C# 中创建不区分大小写的包含检查函数的代码,则必须使用一些不同的方法。
string.IndexOf(string1, StringComparison)
函数用于根据 StringComparison
参数指定的比较类型,获取 string1
参数在 string
里面的第一次出现。它返回一个整数值,该整数值表示在 string
内部出现 string1
参数的第一个索引。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
我们创建了一个不区分大小写的包含函数,使用 string.IndexOf()
函数和 StringComparison.OrdinalIgnoreCase
作为 C# 中的参数来确定 mainString
字符串中是否存在 wordToCheck
字符串。我们将比较结果存储在布尔变量 result
中并显示答案。
在 C# 中使用 CultureInfo
类创建不区分大小写的包含函数
CultureInfo
类包含有关不同文化的信息,例如名称,写作风格,使用的日历类型等等。CultureInfo.CompareInfo.IndexOf()
函数用于确定一个字符串在相同区域性的另一个字符串中首次出现的索引。我们可以使用 CompareOptions.IgnoreCase
作为参数来查找时忽略大小写索引。以下代码示例向我们展示了如何使用 CultureInfo.CompareInfo.IndexOf()
函数和 CompareOptions.IgnoreCase
作为 C# 中的参数,创建不区分大小写的 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
我们创建了一个不区分大小写的包含函数来确定 wordToCheck
字符串是否存在于 mainString
字符串中,并以 CultureInfo.CompareInfo.IndexOf()
函数和 CompareOptions.IgnoreCase
作为 C# 中的参数。我们将比较结果存储在布尔变量 result
中并显示答案。
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