Tag: escaping

在C#中用\替换\\

我有一个带有双反斜杠的长字符串(路径),我想用单个反斜杠替换它: string a = “a\\b\\c\\d”; string b = a.Replace(@”\\”, @”\”); 这段代码什么都不做…… b仍然是”a\\b\\c\\d” 我也尝试了不同的反斜杠组合,而不是使用@ ,但没有运气。

字符串转义为XML-Attribute

我看了一下XML转义字符串 ,发现它非常有用。 我想做类似的事情:转义要在XML-Attribute中使用的字符串。 该字符串可能包含\ r \ n。 XmlWriter类产生类似\ r \ n – >
 我目前使用的解决方案包括XmlWriter和StringBuilder,而且非常难看。 任何提示? EDIT1: 抱歉让LarsH失望,买我的第一个方法是 public static string XmlEscapeAttribute(string unescaped) { XmlDocument doc = new XmlDocument(); XmlAttribute attr= doc.CreateAttribute(“attr”); attr.InnerText = unescaped; return attr.InnerXml; } 这是行不通的。 XmlEscapeAttribute(“Foo\r\nBar”)将导致”Foo\r\nBar” 我使用.NET Reflector来了解XmlTextWriter如何转义属性。 它使用内部的XmlTextEncoder类… 我的方法我目前正在使用这样的方法: public static string XmlEscapeAttribute(string unescaped) { if (String.IsNullOrEmpty(unescaped)) return unescaped; XmlWriterSettings settings […]

使用C#生成Powershell脚本时转义字符

我使用VS2010,C#,.NET 3.5生成Powershell脚本(ps1文件)。 然后,它是Powershell的必需转义字符。 有关它的任何建议,以开发逃避字符的好方法吗? public static partial class StringExtensions { /* PowerShell Special Escape Sequences Escape Sequence Special Character `n New line `r Carriage Return `t Tab `a Alert `b Backspace `” Double Quote `’ Single Quote “ Back Quote `0 Null */ public static string FormatStringValueForPS(this string value) { if (value == null) return […]

Unescape在c#中转义的url

我有以这种forms转义的url: http://www.someurl.com/profile.php?mode=register&agreed=true 我想将它转换为非转义forms http://www.someurl.com/profile.php?mode=register&agreed=true 这与escapped html是一回事吗? 我该怎么做呢? 谢谢

Uri.EscapeDataString很奇怪

为什么EscapeDataString在.NET 4和4.5之间表现不同? 输出是 Uri.EscapeDataString(“-_.!~*'()”) => “-_.!~*'()” Uri.EscapeDataString(“-_.!~*'()”) => “-_.%21~%2A%27%28%29” 文档 默认情况下,EscapeDataString方法将除RFC 2396非保留字符之外的所有字符转换为hex表示forms。 如果启用了国际资源标识符(IRI)或国际化域名(IDN)解析,则EscapeDataString方法将除RFC 3986非保留字符之外的所有字符转换为其hex表示forms。 在转义之前,所有Unicode字符都将转换为UTF-8格式。 作为参考,非保留字符在RFC 2396中定义如下: unreserved = alphanum | mark mark = “-” | “_” | “.” | “!” | “~” | “*” | “‘” | (” | “)” 在RFC 3986中 : ALPHA / DIGIT / “-” / “.” / “_” / “~” […]