首先,嗨!,这是我的第一篇文章!C#如何阅读 r n字符串
我正在写一个应用程序来读取和写入串行端口,所有工作都很好,但由于在我们公司我们有不同类型的扫描仪,它们配置了不同的前缀/后缀字符,其中大多数都有\ r \ n序列。
所以我决定把我的XML配置文件,该后缀,像这样:
<rPortSuffix>\r\n</rPortSuffix>
当我看到我的XML文件,我用这个
case "rPortSuffix":
srPortSuffix = xmlReader.Value;
break;
的问题是,当文本值传递给srPortSuffix,而不是“\ r \ n”,变量存储“\\ r \\ n”,所以当我尝试读取串口时,由于不正确的后缀字符串而没有任何反应NewLine常量)
spRead.NewLine = srPortSuffix; //NewLine constant read in XML file
sReadData = spRead.ReadLine(); //Storing the read data
所以,我想:
srPortSuffix= Regex.Replace(srPortSuffix, @"\\", @"\");
,但没有成功。有小费吗?
TL; DR
我怎样才能让 “\ r \ n” 从XML文件中读取值读取,而不是 “\\ \\ [R N” 完全一样,?
编辑:
正如尔卡Hanika建议,我只是改变了我的字符串从 “\ r \ n” 来的ASCII码,因为这样的:
<rPortSuffix> </rPortSuffix>
现在我的应用程序是为两种类型的扫描仪工作,我正在测试它。
谢谢!
您可以存储新代码的ASCII码,并将其解析为代码中的实际字符。只是一个想法。 – Justin 2012-08-02 16:27:42
stringbuilder会有用吗?也许StringBuilder.AppendLine();?基本上将你的数据保存到一个stringBuilder的变量中,并在每一行添加\ r \ n? – plast1K 2012-08-02 16:28:21
该值可能是'\ r \ n',但是当您在调试器中查看该变量时,它将会将其转义。 – SwDevMan81 2012-08-02 16:28:44