当我打电话
string t = tmp.Replace(@"\n", "").Replace(@"\t", "");
其中tmp
是包含某事物的字符串文字。像这样'\n\t\t\t\t\tmirDochLatte'
(也考虑作为字符串一部分的单引号)结果字符串t
保持不变。
我在哪里可以错过从输入中删除空格?
Btw:因此实际的字符串可能包含也可能不包含我只搜索制表符和换行符的有效空格。
答案 0 :(得分:2)
您正在混合文字和转义字符。事实上@"\n"
实际上是这个文字:\n
,而不是你期望的那一行。
尝试删除逐字运算符@
:
string t = tmp.Replace("\n", "").Replace("\t", "");
我建议您删除\r
,因为Windows行结尾同时包含\r
和\n
。
答案 1 :(得分:0)
因为您的tmp
字符串实际上看起来像这样(我假设它不是逐字字符串文字);
'
mirDochLatte'
\n
是新行,\t
是制表符。
此字符串没有\n
或\t
,有替换它的字符。
您应该使用escape sequence characters作为regular string literal,而不是逐字字符串文字。
string s = "'\n\t\t\t\t\tmirDochLatte'";
string t = s.Replace("\n", "").Replace("\t", "");
Console.WriteLine(t); // 'mirDochLatte'