用\\ n替换\ n

时间:2012-02-07 12:33:12

标签: c#

我有一个xml字符串,如下所示:

String xml = @"<axislable='ihgyh\nuijh\nkjjfgj'>";

现在,当我尝试输出xml时,它会显示<axislable='ihgyh\nuijh\nkjjfgj'>

但我的要求是打破下面的界线

<axislable='ihgyh
uijh
kjjfgj'>

我尝试使用xml = xml.Replace("\n", "\\n");替换xml但它似乎没有用。任何想法如何打破这条线?

此致 Sharmila

5 个答案:

答案 0 :(得分:4)

请勿使用@前缀:

var xml = "<axislable='ihgyh\nuijh\nkjjfgj'>";

您也可能需要"\r\n"

var xml = "<axislable='ihgyh\r\nuijh\r\nkjjfgj'>";

答案 1 :(得分:3)

由于您的字符串中没有换行符,因此无效。您的字符串包含子字符串“\ n”。

请注意,您使用@运算符。

尝试以下方法:

xml = xml.Replace("\\n", "\n");

答案 2 :(得分:1)

尝试

xml.Replace(@"\n", Envioroment.NewLine);

答案 3 :(得分:1)

与Leo的答案类似(抱歉不知道如何评论你的答案)

String xml = String.Format("<axislable='ihgyh{0}uijh{0}kjjfgj'>", Environment.NewLine);

答案 4 :(得分:1)

@字符表示该字符串是 verbatim 字符串,这意味着字符串中的\ n等转义字符不会被处理并视为文本。

以下字符串是常规字符串:

string xml="<axislable='ihgyh\nuijh\nkjjfgj'>";

并将\ n转义序列翻译为换行符,如您所料。

您应该检查documentation on string literals两个表单之间的区别。