我想知道 .TrimEnd()是否删除字符串末尾的空行?
StringBuilder sb = new StringBuilder();
sb.AppendLine("John");
sb.AppendLine();
sb.AppendLine();
Console.WriteLine(sb.ToString().TrimEnd());
Console.WriteLine(1);
我尝试了这段代码,它返回了
John
1
如果trimChars为null或为空数组,则会删除Unicode空格字符。
所以,如果我了解.TrimEnd()删除字符串末尾的空行?
答案 0 :(得分:2)
当想知道什么方法时,文档应该始终是您的第一站。在这种情况下,可以在Microsoft网站上找到它:https://docs.microsoft.com/en-us/dotnet/api/system.string.trimend?view=netframework-4.8
相关部分是:
如果trimChars为null或为空数组,则会删除Unicode空格字符。
根据维基百科,空白定义如下:
空白是表示印刷术中水平或垂直空间的任何字符或一系列字符。呈现时,空格字符不对应于可见标记,但通常确实占据页面上的一个区域。例如,常见的空白符号U + 0020 SPACE(也为ASCII 32)表示文本中的空白标点符号,在西方脚本中用作分词。
https://en.wikipedia.org/wiki/Whitespace_character
https://docs.microsoft.com/en-us/dotnet/api/system.char.iswhitespace?view=netframework-4.8#remarks可能是c#将被认为是空格的最相关定义。这对应于Wikipedia文章中的“具有Unicode字符属性“ WSpace = Y”的空白字符”的第一张表。
答案 1 :(得分:0)
根据官方文档here:
给来电者的提示
.NET Framework 3.5 SP1和更早版本维护内部空格字符列表,如果trimChars为null或空数组,则此方法将对其进行修剪。