如何删除字符串中的\n
?
E.g。
string s = "\n1234"
string s = "1234"
我尝试过(并失败过):
s.Remove(0,1);
s.Trim();
附加说明:
我认为\n
计为1 char
因为,当我尝试时:
bool b = s[0]=='\n';
b = true。
答案 0 :(得分:6)
也许不是最好的解决方案,但有效:
string s = "\n1234".Replace("\n", String.Empty);
如果\n
仅位于字符串的开头或结尾,您还可以使用“自定义Trim
”:
string s = "\n1234".Trim('\n');
'\n'
不应该是必需的,因为它包含在默认的空格字符中,默认情况下会被Trim
删除。
答案 1 :(得分:3)
您没有将结果分配回字符串,否则Trim
和Remove
都应该有效。
String是一个不可变类型,它的方法不会修改现有字符串,而是返回一个新字符串。因此,当您执行s.Remove(0, 1);
或s.Trim()
时,它不会修改原始字符串,而是返回一个新字符串。
因此,对于您的情况,例如:
string newstr = s.Trim();
//OR
string newstr = s.Remove(0,1);
应该有效。
但请记住s.Trim()
会从字符串的开头或结尾删除任何类型的空格。如果那是您想要的行为,请使用它。
同样,您可以使用string.Replace
,但这将替换字符串中出现的所有新行字符。
您的s.Remove(0,1)
将删除第一个字符,而不管它是否是新行字符。
答案 2 :(得分:1)
试一试:
string s = "\n1234";
s = s.Replace("\n", string.Empty);
答案 3 :(得分:0)
您可以使用:
string s = "\n1234".TrimStart(new char[]{'\n'}); // search for \n at the start of the string
或
string s = "\n1234".TrimEnd(new char[]{'\n'});// search for \n at the end of the string
或
string s = "\n1234".Trim(new char[]{'\n'});// search for \n at the start and the end of the string