Tag: 逃避

与dontEscape的Uri构造函数已经过时,什么是交替?

我的问题是关于在没有转义的情况下将URL传递给HttpWebRequest,我搜索了论坛和互联网,但我找不到一个好的解决方案。 我有以下url: string URL= www.website.com/sub/redirec\t\bs\dd 所以,当我创建这样的uri时: Uri uri = new Uri(URL); HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri); 在这种情况下,我将获得以下URL: www.website.com/sub/redirect%5Ct%5Cbc%5Cdd 此符号“\”将替换为“%5C”。 什么对我不至关重要? 我可以通过以下方式避免: Uri uri = new Uri(URL, true); //bool dontEscape 但是这个构造函数已经过时了。 如何在不使用过时的情况下获得同样的效果?

C#JSON解析。 解析了逃脱的JSON

Facebook有一个新的批量请求图谱API,我正在尝试使用它。 JSON看起来像这样: [ { “code”: 200, “headers”: [ { “name”: “Cache-Control”, “value”: “private, no-cache, no-store, must-revalidate” }, { “name”: “Connection”, “value”: “close” }, { “name”: “Content-Type”, “value”: “text/javascript; charset=UTF-8” }, { “name”: “ETag”, “value”: “\”abcd1234abcd1234abcd1234abcd1234\”” }, { “name”: “Expires”, “value”: “Sat, 01 Jan 2000 00:00:00 GMT” }, { “name”: “P3P”, “value”: “CP=\”Facebook does not have […]

带有方括号的Uri.EscapeUriString

这是一个奇怪的问题,但让我们看看它得到了什么样的反应…… 如果我编写控制台应用程序(VS 2013,.NET 4.5.1)并执行以下代码行: Uri.EscapeUriString(“[“) 我明白了: [ 但是如果我在我的机器上的LINQPad中执行相同的操作(好吧,技术上是Uri.EscapeUriString(“[“).Dump() ),我得到这个: %5B 为了进一步复杂化, 根据这篇文章, Uri.EscapeUriString(“[“)确实应该返回%5B 。该post写于27/06/2012。 我想也许LINQPad引用的是比VS使用的更旧的DLL,但这意味着EscapeUriString最近已经发生变化,我找不到任何记录。 有没有人对可能导致这种行为的原因有任何想法?

处理包含美元字符的正则表达式转义替换文本

string input = “Hello World!”; string pattern = “(World|Universe)”; string replacement = “$1″; string result = Regex.Replace(input, pattern, replacement); 有了以下示例,结果将是”Hello World!” ,因为$1被第一组(World|Universe)取代,但我想要的结果是”Hello $1!” Regex.Escape方法用于转义正则表达式模式,而不是替换,因为它可以转义其他字符,如斜杠和其他正则表达式模式字符。 对我的问题的明显解决方法是让我的替换等于”$$1″ ,并将达到”Hello $1!” ,但我想知道美元符号是否是我必须逃脱的唯一值(假设replacement是用户生成的,我不提前知道),或者是否有帮助函数已经执行此操作。 有没有人知道一个函数来逃避Regex.Replace(string input, string pattern, string replacement)使用的替换值?

如何使用Json.NET StringEscapeHandling.EscapeNonAscii

可能重复: 将StringEscapeHandling.EscapeNonAscii与Json.NET一起使用 最新版本的Json.NET(4.5.11)包含StringEscapeHandling.EscapeNonAscii ,它可以转义所有非ASCII字符。 但是,我无法弄清楚如何使用它。 这些文档似乎没有我能找到的任何示例(仅发布一个发布说明)。 有人可以使用EscapeNonAscii显示将对象序列化为JSON字符串的EscapeNonAscii吗?

在正则表达式中逃避特殊性格

有没有办法从字符串中转义正则表达式中的特殊字符,例如[]()*和其他字符? 基本上,我要求用户输入一个字符串,我希望能够使用正则表达式在数据库中进行搜索。 我碰到的一些问题too many)’s或者[xy] range in reverse order等等。 所以我想要做的是编写一个函数来替换用户输入。 例如,替换(用\( ,替换[ with \[ 是否有正则表达式的内置函数? 如果我必须从头开始编写函数,是否有办法轻松地对所有字符进行编码,而不是逐个编写替换语句? 我正在使用Visual Studio 2010在C#中编写程序