我在SQL数据库中有我的正则表达式
例如:^ [A-ZÑ\ s \。\,\\“\%] + $
然后,我用SQL Reader
获取它sql.Reader [ “REGULAR_EXPRESSION”]。的ToString()
但是,返回以下内容:“^ [A-ZÑ\\ s \\。\\,\\\\”\\%] + $“
任何人都知道如何避免使用.ToString()函数来更改字符串,就像使用@时一样。
答案 0 :(得分:1)
我认为你实际上被这里的工具误入歧途。当您在Visual Studio的Watch窗口中查看结果时,它会以与常规带引号的字符串相同的方式转义显示中的任何字符,因此您可以获得加倍的反斜杠。如果您实际将其输出到某处,例如使用System.Diagnostics.Debug.WriteLine,则不应该看到加倍的反斜杠。
通过SqlDataReader的索引器属性访问列时,返回类型为object
。那是因为它在编译时不知道它是什么类型。如果列是字符串类型(例如varchar
),则返回的对象将是SqlString
结构,您可以将其强制转换为string
而不是调用ToString
。< / p>
答案 1 :(得分:0)
要解决此问题,您必须使用Regex Library中的Regex.Unescape()函数。
问题是从对象到字符串的错误转换。