C# 在DataVew行筛选器上搜索特殊字符

C# 在DataVew行筛选器上搜索特殊字符,c#,dataview,rowfilter,C#,Dataview,Rowfilter,如何使用RowFilter搜索带有“与”的字符串(或任何其他“特殊”字符,例如!“£$%^&*()) 当我尝试时,我收到以下错误: Like运算符中出错:字符串模式“%$(*$\&%”无效 下面是我的行筛选器的副本: value="£(*$\&"; //I know this is rubbish, but I don't want the system to crash. filterString = string.Format("Description LIKE '%{0}%'",

如何使用RowFilter搜索带有“与”的字符串(或任何其他“特殊”字符,例如!“£$%^&*())

当我尝试时,我收到以下错误:

Like运算符中出错:字符串模式“%$(*$\&%”无效

下面是我的行筛选器的副本:

value="£(*$\&"; //I know this is rubbish, but I don't want the system to crash.

filterString = string.Format("Description LIKE '%{0}%'", value);

myDataView.RowFilter=filterString;
提前谢谢


我用的是C#4.0

也许这个能帮上忙

CheckValue("fefe[][]12#");
CheckValue("abvds");
CheckValue("#");
CheckValue(@"[][][][][]\\\\\][]");
CheckValue("^^^efewfew[[]");

public static string CheckValue(string value)
{
    StringBuilder sBuilder = new StringBuilder(value);

    string pattern = @"([-\]\[<>\?\*\\\""/\|\~\(\)\#/=><+\%&\^\'])";

    Regex expression = new Regex(pattern);

    if (expression.IsMatch(value))
    {
        sBuilder.Replace(@"\", @"\\");
        sBuilder.Replace("]", @"\]");
        sBuilder.Insert(0, "[");
        sBuilder.Append("]");
    }
    return sBuilder.ToString();
}
CheckValue(“fefe[]]12#”);
校验值(“abvds”);
校验值(“#”);
校验值(@“[].[].[].[].[].[]);
校验值(“^^^EFEWFW[[]”);
公共静态字符串校验值(字符串值)
{
StringBuilder sBuilder=新StringBuilder(值);

字符串模式=@“([-\]\[\?\*\\\”“/\\\\\(\)\\\\\\\\\\/=>这个可能会有帮助

CheckValue("fefe[][]12#");
CheckValue("abvds");
CheckValue("#");
CheckValue(@"[][][][][]\\\\\][]");
CheckValue("^^^efewfew[[]");

public static string CheckValue(string value)
{
    StringBuilder sBuilder = new StringBuilder(value);

    string pattern = @"([-\]\[<>\?\*\\\""/\|\~\(\)\#/=><+\%&\^\'])";

    Regex expression = new Regex(pattern);

    if (expression.IsMatch(value))
    {
        sBuilder.Replace(@"\", @"\\");
        sBuilder.Replace("]", @"\]");
        sBuilder.Insert(0, "[");
        sBuilder.Append("]");
    }
    return sBuilder.ToString();
}
CheckValue(“fefe[]]12#”);
校验值(“abvds”);
校验值(“#”);
校验值(@“[].[].[].[].[].[]);
校验值(“^^^EFEWFW[[]”);
公共静态字符串校验值(字符串值)
{
StringBuilder sBuilder=新StringBuilder(值);

字符串模式=@“([-\]\[\?\*\\\”“/\\\\\\~\(\)\\\\\\\/=>可能重复的可能重复的可能重复的No在我输入&f时会崩溃。别担心。你提供的链接有答案。谢谢。我输入&f时不会崩溃。别担心。你提供的链接有答案。谢谢