Vb.net 如何不敏感地检查一个字符串是否包含另一个大小写?

Vb.net 如何不敏感地检查一个字符串是否包含另一个大小写?,vb.net,Vb.net,看起来是这样的。然而,我试过了,但没有成功。似乎s.的唯一可选参数包含take char作为第一个参数。如果要插入字符串作为第一个参数,则不能将第二个参数作为StringComparison.OrdinalIgnoreCase 我从中获得了代码片段,您可以使用IndexOf函数 comp = StringComparison.OrdinalIgnoreCase Console.WriteLine(" {0:G}: {1}", comp, s.Contains(sub1, comp))

看起来是这样的。然而,我试过了,但没有成功。似乎s.的唯一可选参数包含take char作为第一个参数。如果要插入字符串作为第一个参数,则不能将第二个参数作为StringComparison.OrdinalIgnoreCase


我从

中获得了代码片段,您可以使用IndexOf函数

  comp = StringComparison.OrdinalIgnoreCase
  Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp))
上面的代码段根据s是否包含sub1打印true或false

或者,如果您想使用包含,您可以使用ToUpper或ToLower,如下所示

Console.WriteLine(s.IndexOf(sub1, 0, StringComparison. OrdinalIgnoreCase) > -1)
您给出的链接显示了如何创建字符串的自定义扩展名。他还提供了创建自定义扩展所必须使用的代码,如果您观察到,该方法在内部使用IndexOf


您可以使用IndexOf函数

  comp = StringComparison.OrdinalIgnoreCase
  Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp))
上面的代码段根据s是否包含sub1打印true或false

或者,如果您想使用包含,您可以使用ToUpper或ToLower,如下所示

Console.WriteLine(s.IndexOf(sub1, 0, StringComparison. OrdinalIgnoreCase) > -1)
您给出的链接显示了如何创建字符串的自定义扩展名。他还提供了创建自定义扩展所必须使用的代码,如果您观察到,该方法在内部使用IndexOf

试试这个:

Console.WriteLine("   {0:G}: {1}", comp, s.ToUpper().Contains(sub1.ToUpper()))
您在问题中指出的链接定义了以下扩展方法:

s.ToLowerInvariant().Contains(sub1.ToLowerInvariant())
除非您实现了这一点,否则您对s.Containssub1的调用将无法工作。

尝试以下方法:

Console.WriteLine("   {0:G}: {1}", comp, s.ToUpper().Contains(sub1.ToUpper()))
您在问题中指出的链接定义了以下扩展方法:

s.ToLowerInvariant().Contains(sub1.ToLowerInvariant())

除非您实现这一点,否则您对s.Containssub1的调用将无法运行。

Hmmm但microsoft sample说我们可以使用string.contains。@JimThio不,它说您可以创建自定义方法…Hmmm但microsoft sample说我们可以使用string.contains。@JimThio不,它说您可以创建自定义方法…顺便说一句,这些测试是多余的,因为IndexOf已经在参数不正确时抛出了相同的异常。顺便说一下,这些测试实际上是多余的,因为IndexOf已经在参数不正确时抛出了相同的异常。看见