using static System.Console;
using System.Globalization;
public static void Main() {
var mainStr = "José João";
WriteLine(mainStr.ContainsInsensitive("JOA"));
WriteLine(mainStr.ContainsInsensitive("jose"));
WriteLine(mainStr.ContainsInsensitive("josé"));
public static class StringExt {
public static bool ContainsInsensitive(this string source, string search) => (new CultureInfo("pt-BR").CompareInfo).IndexOf(source, search, CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace) >= 0;