Exemple #1
0
        public static string?RemoveLines(this string?value, Func <string, bool> shouldRemoveLine)
        {
            if (Strings.IsNullOrEmpty(value))
            {
                return(value);
            }

            if (value[value.Length - 1] == '\n')
            {
                value = value.Substring(0, value.Length - 1);
            }

            var sb = new StringBuilder(capacity: value.Length);

            foreach (var line in value.Split('\n'))
            {
                if (!shouldRemoveLine(line))
                {
                    sb.Append(line).Append('\n');
                }
            }

            return(sb.ToString());
        }