Усеченная строка на целых словах в.NET C#

При выполнении IIS 7, Вы могли бы использовать Неудавшийся Запрос, Прослеживающий . Я на самом деле не использовал его для тайм-аутов, я главным образом настроил его для получения просто определенных кодов ошибки HTTP. Но я знаю, что можно заставить его выводить трассировки любого запроса, берущего больше чем X количества времени.

62
задан bluish 12 June 2013 в 09:08
поделиться

3 ответа

Спасибо за ответ Дэйв. Я' я немного изменил функцию, и это то, что я использую ... если нет больше комментариев;)

public static string TruncateAtWord(this string input, int length)
{
    if (input == null || input.Length < length)
        return input;
    int iNextSpace = input.LastIndexOf(" ", length, StringComparison.Ordinal);
    return string.Format("{0}…", input.Substring(0, (iNextSpace > 0) ? iNextSpace : length).Trim());
}
81
ответ дан 24 November 2019 в 16:34
поделиться

Попробуйте следующее. Это довольно примитивно. Просто находит первый пробел, начиная с нужной длины.

public static string TruncateAtWord(this string value, int length) {
    if (value == null || value.Length < length || value.IndexOf(" ", length) == -1)
        return value;

    return value.Substring(0, value.IndexOf(" ", length));
}
92
ответ дан 24 November 2019 в 16:34
поделиться

Если вы используете формы Windows, в методе Graphics.DrawString есть параметр в StringFormat, чтобы указать, следует ли обрезать строку, если она не вписывается в указанную область. Это позволит при необходимости добавить многоточие.

http://msdn.microsoft.com/en-us/library/system.drawing.stringtrimming.aspx

4
ответ дан 24 November 2019 в 16:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: