我有一串长度未知的
它是格式
\nline
\nline
\nline
不知道要多长时间我才可以取字符串的最后10行
用“\n”分隔的行
最佳答案
随着字符串变大,避免处理无关紧要的字符变得越来越重要。使用string.Split
的任何方法效率低下,因为必须处理整个字符串。一个有效的解决方案将必须从后面贯穿字符串。这是一个正则表达式方法。
请注意,它返回List<string>
,因为在返回结果之前需要反转结果(因此使用Insert
方法)
private static List<string> TakeLastLines(string text, int count)
{
List<string> lines = new List<string>();
Match match = Regex.Match(text, "^.*$", RegexOptions.Multiline | RegexOptions.RightToLeft);
while (match.Success && lines.Count < count)
{
lines.Insert(0, match.Value);
match = match.NextMatch();
}
return lines;
}
关于c# - 取字符串C#的最后n行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11942885/