C# 将字符串从右侧剪切到最大25个字符,即使字符串小于25个字符,也要删除所有类型的换行符

C# 将字符串从右侧剪切到最大25个字符,即使字符串小于25个字符,也要删除所有类型的换行符,c#,string,function,newline,chars,C#,String,Function,Newline,Chars,在C#windows窗体应用程序中,我有不同长度和格式的字符串,我希望从中显示前25个字符的预览,预览中不包含任何类型的换行符。预览字符串应后跟“…” 我有一些小于25个字符的字符串,但它们也可以包含换行符,有时也可以不包含。换行符可以类似于、、/n、/r、/r/n、/n/n或环境。 对于较短的字符串,由于TextX,我会出现异常。无法应用子字符串(0,25) 框架中的什么现成功能是最好的方法? 也许你知道怎么解决这个问题 结尾处应附加“…”,但由于字符串已定义,因此无法附加内容TextX.Ap

在C#windows窗体应用程序中,我有不同长度和格式的字符串,我希望从中显示前25个字符的预览,预览中不包含任何类型的换行符。预览字符串应后跟“…”

我有一些小于25个字符的字符串,但它们也可以包含换行符,有时也可以不包含。换行符可以类似于


、/n、/r、/r/n、/n/n
或环境。 对于较短的字符串,由于TextX,我会出现异常。无法应用子字符串(0,25)

框架中的什么现成功能是最好的方法? 也许你知道怎么解决这个问题


结尾处应附加“…”,但由于字符串已定义,因此无法附加内容TextX.Append在内容中不存在

框架中似乎没有现成的函数,但您可以这样做:

  public static String Preview(String value) {
    String[] newLines = new String[] { "<br>", "<br />", "\n", "\r", Environment.NewLine };

    foreach (String newLine in newLines)
      value = value.Replace(newLine, ""); // <- May be space will be better here

    if (text.Length > 25) 
      return value.Substring(0, 25) + "…"; 
      // If you want string END, not string START, comment out the line above and uncomment this
      // return value.Substring(value.Length - 25) + "…";
    else
      return value;
  }

  ...
  // Test sample

  String text = "abcd<br>efgh\r\r\n\n1234567890zxy\n\n1234567890abc";
  String result = Preview(text); // <- abcdefgh1234567890zxy1234…

  String text2 = "abcd<br>efgh\r\r";   
  String result2 = Preview(text2); // <- abcdefgh
公共静态字符串预览(字符串值){
String[]newLines=新字符串[]{“
”,“
”,“\n”,“\r”,Environment.NewLine}; foreach(换行符中的字符串换行符) value=value.Replace(换行符,“”;//25) 返回值。子字符串(0,25)+“…”; //如果希望字符串结束,而不是字符串开始,请注释掉上面的行并取消注释 //返回值.Substring(value.Length-25)+“…”; 其他的 返回值; } ... //试样 String text=“abcd
efgh\r\r\n\n1234567890zxy\n\n1234567890abc”; 字符串结果=预览(文本)//