我有一个xml字符串,如下所示:
String xml = @"<axislable='ihgyh\nuijh\nkjjfgj'>";
现在,当我尝试输出xml时,它会显示<axislable='ihgyh\nuijh\nkjjfgj'>
但我的要求是打破下面的界线
<axislable='ihgyh
uijh
kjjfgj'>
我尝试使用xml = xml.Replace("\n", "\\n");
替换xml但它似乎没有用。任何想法如何打破这条线?
此致 Sharmila
答案 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两个表单之间的区别。