C# 如何删除字符串中的\n?

C# 如何删除字符串中的\n?,c#,string,substring,C#,String,Substring,如何删除字符串中的\n 例如 输入:string s=“\n1234” 我想要的输出(但我无法实现):string s=“1234” 我尝试过的(但失败了): s.Remove(0,1) s.Trim() 补充说明: 我认为\n算作1char,因为当我尝试时: bool b = s[0]=='\n'; b=正确 可能不是fastes解决方案,但可以: string s = "\n1234".Replace("\n", String.Empty); 如果\n仅位于字符串的开头或结尾,则还可以使

如何删除字符串中的
\n

例如

  • 输入:
    string s=“\n1234”
  • 我想要的输出(但我无法实现):
    string s=“1234”
  • 我尝试过的(但失败了):

  • s.Remove(0,1)
  • s.Trim()
  • 补充说明:

    我认为
    \n
    算作1
    char
    ,因为当我尝试时:

    bool b = s[0]=='\n';
    
    b=正确


    可能不是fastes解决方案,但可以:

    string s = "\n1234".Replace("\n", String.Empty);
    
    如果
    \n
    仅位于字符串的开头或结尾,则还可以使用“自定义
    修剪”

    '\n'
    不应该是必需的,因为它包含在默认的空白字符中,默认情况下会被
    Trim
    删除。

    试一试:

    string s = "\n1234";
    
    s = s.Replace("\n", string.Empty);
    
    您可以使用:

    string s = "\n1234".TrimStart(new char[]{'\n'}); // search for \n at the start of the string
    


    您没有将结果分配回字符串,否则您的
    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)
    将删除第一个字符,而不管它是否为新行字符

    您没有将结果分配回
    s
    s.Trim()
    应该像
    s=s.Trim()
    Trim
    一样工作,并且
    删除
    不要在适当的位置修改字符串;它们返回一个新字符串。调用这些方法后是否重新分配了
    s
    ?“\”是转义字符。后跟“n”,表示“换行符”。当编译器读取源文件时,您键入的两个字符被编译器转换为单个字符。或者,当您有转义字符时,我会使用
    @
    。在这种情况下,您为什么要转义?@SnakeEyes您错了,这是一个换行符(
    “\n”
    ),而不是实际的
    \n
    @\n
    “\n1234”.Replace(@“\n”
    不正确。它试图通过查找文本来替换换行符
    \n
    。它实际上是一个换行符,所以使用
    @
    将是麻烦大于好处。谢谢,Snake愚弄了我的;)-你是对的。这次我测试了代码并
    Replace(“\n”,String.Empty)
    确实有效…似乎我一直忘记分配trim返回值。叹气。感谢!+1将
    .trim()
    的行为与字符串的不变性联系起来。
    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
    
    string newstr = s.Trim();
    //OR
    string newstr = s.Remove(0,1);