Dataview RowFilter转义无效字符
本文关键字:字符 无效 转义 RowFilter Dataview | 更新日期: 2023-09-27 17:59:47
是否有一个方便的现成方法来转义通配符,即字符串中要为C#中的DataView
分配给RowFilter
的无效字符。规则有点像
If a column name contains any of these special characters ~ ( ) # ' / = > < + - * % & | ^ ' "
[ ], you must enclose the column name within square brackets [ ]. If a column name contains
right bracket ] or backslash ', escape it with backslash ('] or '').
谢谢:)
这将基于中更详细的规范
protected void Page_Load(object sender, EventArgs e)
{
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();
}
我把它扔到了我正在看的一个网页上,所以忽略page_Load,当然也可以按照你的意愿进行测试。
希望能有所帮助。