C#替换字符串中的特殊字符

3

在VB中这很容易,但是我在c# VS2010中完全被卡住了。

我正在接收串口数据。每行末尾都有一个特殊字符,表示文本结束。如果在终端窗口中查看它,它看起来像一个小的L形括号。该字符是ASCII“03”

我需要用回车换行符("\r\n")替换该字符。

我已经尝试过以下方法,但出现“无效参数”错误:

 RxString = RxString.Replace((char) 03, "\r\n");

我可以去掉末尾字符,然后执行"\r\n"的换行符追加,但我更愿意一次性正确地完成它。
1个回答

6

没有重载 string.Replace 的参数是先传入 char 再传入 string。但可以尝试以下代码实现:

RxString = RxString.Replace("\u0003", "\r\n");

有一个重载函数可以接受字符。http://msdn.microsoft.com/en-us/library/czx8s9ts.aspx - dknaack
@dknaack:这个重载函数接受两个char类型参数。用于替换的字符串必须是string类型,比如\r\n,而不是char类型。 - Adam Ralph
@sll 是的,我知道也有一个接受字符串的重载。但是我只想说“在 string.Replace 中没有接受字符的重载”这句话是不正确的。 - dknaack
@sll 为什么?;) 句子“在 string.Replace 中没有接受 char 和 string 参数的重载”是 Jon 的回答部分,而不是问题。 - dknaack
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接