Параметр для TrimEnd
указывает набор символов , который необходимо обрезать. Это не должен быть суффикс для обрезки.
То есть вы хотите обрезать любой символ в наборе { '<', 'c', 'o', 'd', 'e', '>', '0', '/' }
. Буквы "дед" все в этом наборе, поэтому они обрезаются.
Если вы хотите удалить суффикс, не используйте TrimEnd
. Используйте что-то вроде этого:
public static string RemoveSuffix(string input, string suffix) =>
input.EndsWith(suffix, StringComparison.Ordinal)
? input.Substring(0, input.Length - suffix.Length)
: input;
(Часть сравнения строк важна, чтобы в некоторых случаях избежать «интересных» специфических для культуры эффектов. По сути, она обеспечивает максимально простое сопоставление.)