1
我正在編寫一個程序,並且我正在使用LINQ搜索到SQL Server數據庫(儘管這可能會在某些時候發生變化)。我想爲特定的音調符號製作過濾器,例如搜索波形符號ẽ但不是旋律ê。我見過如何忽略所有的例子,但沒有人說如何忽略特定的例子。我只需要通過迭代字符串並更改它們來手動轉換搜索的所有字符串?C#搜索過濾器 - 忽略特定的變音符號
我正在編寫一個程序,並且我正在使用LINQ搜索到SQL Server數據庫(儘管這可能會在某些時候發生變化)。我想爲特定的音調符號製作過濾器,例如搜索波形符號ẽ但不是旋律ê。我見過如何忽略所有的例子,但沒有人說如何忽略特定的例子。我只需要通過迭代字符串並更改它們來手動轉換搜索的所有字符串?C#搜索過濾器 - 忽略特定的變音符號
如果您的數據庫整理允許它,您必須編寫一個方法來忽略特定字符。
如果你想不理你都diacrits定義自己的方法,如:
public static string RemoveDiacritics(this String s)
{
String normalizedString = s.Normalize(NormalizationForm.FormD);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < normalizedString.Length; i++)
{
Char c = normalizedString[i];
if (System.Globalization.CharUnicodeInfo.GetUnicodeCategory(c) != System.Globalization.UnicodeCategory.NonSpacingMark)
stringBuilder.Append(c);
}
return stringBuilder.ToString();
}
編輯:
public static class StringExtensions
{
public static bool CaseContains(this string baseStr, string textToSearch, StringComparison compareMode)
{
return (baseStr.IndexOf(textToSearch, compareMode) != -1);
}
}
與
if(text.CaseContains(whattextisearch, StringComparison.CurrentCulture))
.....
謝謝,這應該工作 – mmf1102
調用它,我將創建一個字典/查找將被過濾的變音符號,並將字符串的每個字符與字典/查找進行比較。 –
我該怎麼做? – mmf1102
沒關係我誤讀你的評論 – mmf1102