C# 将字符串从右侧剪切到最大25个字符,即使字符串小于25个字符,也要删除所有类型的换行符
在C#windows窗体应用程序中,我有不同长度和格式的字符串,我希望从中显示前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
、
、/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”;
字符串结果=预览(文本)//