-5

我用来Readline()从串口读取字符串。

但问题是字符串总是"\r"在末尾附加。

我试过了

text.Replace("\r","");

但它不起作用。

还有其他选择吗?

4

6 回答 6

6

Replace不能就地工作。您必须将结果分配给变量。

text = text.Replace("\r","");

或者干脆

text = text.Trim();
于 2013-01-20T15:18:14.843 回答
3

您需要将结果分配给某个字符串以获取没有的字符串\r

改变

 text.Replace("\r","");

text = text.Replace("\r","");
于 2013-01-20T15:13:15.700 回答
0

翻倍逃脱\

text.Replace("\\r","");

或使用@,逐字字符串

text.Replace(@"\r","");
于 2013-01-20T15:13:05.470 回答
0

@ verbtaim literal用like试试;

text.Replace(@"\r","");

或者您可以使用双斜杠 ( \\)

text.Replace("\\r","");

\r回车字符文字。查看Character literals

并且要小心String.Replace()方法,因为它有两个重载。

于 2013-01-20T15:14:32.873 回答
0

改用这个,因为回车取决于当地文化:

text.Replace(Environment.NewLine, "");
于 2013-01-20T15:16:39.873 回答
0

"...字符串总是在末尾附加 "\r""

然后删除最后一个字符:

string a = "hello\r";
string b = a.Substring(0, a.Length - 1);
于 2013-01-20T15:39:14.360 回答