Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否允许搜索重音字符?_C#_.net_String_Cultureinfo_String Comparison - Fatal编程技术网

C# 是否允许搜索重音字符?

C# 是否允许搜索重音字符?,c#,.net,string,cultureinfo,string-comparison,C#,.net,String,Cultureinfo,String Comparison,已解决: 我使用了以下代码: var compareinfo = CultureInfo.CurrentCulture.CompareInfo; var index = compareinfo.IndexOf(strA, strB, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase); return index > -1; 可能重复: 我有一个公共信息亭应用程序,用户使用它来搜索感兴趣的地方。说我有一个店名和咖啡馆这个词

已解决:

我使用了以下代码:

var compareinfo = CultureInfo.CurrentCulture.CompareInfo;
var index = compareinfo.IndexOf(strA, strB, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase);
return index > -1;
可能重复:

我有一个公共信息亭应用程序,用户使用它来搜索感兴趣的地方。说我有一个店名和咖啡馆这个词。信息亭只允许通过屏幕键盘输入英文字母。问题是,当我输入Cafe(没有重音符号)时,搜索无效,因为用户无法输入字符。我希望应用程序允许正常的e可以搜索到所有重音e,同样也可以搜索所有其他相应的字符。我该怎么做

编辑: 店名是“布鲁斯咖啡馆”,我搜索“咖啡馆”,它应该显示在我的搜索结果中

使用

返回-1

也返回-1


我不知道为什么…

如果您在代码中执行此操作:

string.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);
如果您在T-SQL中执行此操作:

SELECT *
FROM YourTable
WHERE
   ColumnName COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI

如果您正在进行自己的字符串比较,则可以通过指定接受CompareOptions参数的字符串比较方法之一来忽略重音,例如

请包含“搜索”代码。是否从字符串列表中搜索?DB?Lucene.Net?你能分享你的搜索代码吗?我怎样才能同时使用string.indexof功能进行搜索?indexof:
string.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);
SELECT *
FROM YourTable
WHERE
   ColumnName COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI