Удалите несколько символьных типов из конца строки

        if (Math.Abs(dt1.Subtract(dt2).TotalSeconds) < 1.0)
10
задан John Saunders 18 July 2013 в 01:59
поделиться

6 ответов

returnValue = returnValue.TrimEnd(' ', ',');
26
ответ дан 3 December 2019 в 13:56
поделиться

Вам также следует избегать использования строк в вашем случае, вместо этого используйте StringBuilder. Избегайте также использования смыслового форматирования -just list [iRow] - лучший вариант.

Попробуйте вместо этого что-нибудь вроде этого:

string result = string.Join(", ", 
                  list.Where(s => !string.IsNullOrEmpty(s)).ToArray());
8
ответ дан 3 December 2019 в 13:56
поделиться

Статический метод TrimEnd строки позволяет указать, какие символы следует обрезать.

Однако в вашем случае имеет смысл проверить в цикле for, есть ли у вас пустые слоты, и в end объединяет результирующую строку со строкой.Join (разделитель строк, части строки [])

2
ответ дан 3 December 2019 в 13:56
поделиться

Если вы хотите удалить что-то, что добавили, не добавляйте это в первую очередь. Кроме того, тип StringBuilder лучше подходит для объединения нескольких строк, поскольку он намного эффективнее использует память.

StringBuilder sb = new StringBuilder();

for (int i = 0; i < list.Count; i++)
{
    string rowValue = list[iRow];
    if (!string.IsNullOrEmpty(rowValue))
    {
        sb.Append(rowValue);
        sb.Append(", ");
    }    
}

// use sb.ToString() to obtain result
2
ответ дан 3 December 2019 в 13:56
поделиться

Ненавижу делать предположения, но я буду, потому что кажется вы хотите сохранить «пробелы» до конца, в этом случае вам следует использовать TrimEnd. Если нет, то используйте любую другую опцию, чтобы не добавлять пустые значения в первую очередь.

Точнее, если бы ваш вывод мог выглядеть так:

asd, aaa, qwe, 123123,,, somevalue, ,

Затем вам нужно будет выполнить цикл и использовать TrimEnd.

В противном случае, если вы можете свернуть поля, исключите пустые заранее.

asd, aaa, qwe, 123123, somevalue

1
ответ дан 3 December 2019 в 13:56
поделиться

попробуйте следующее:

List<string> list = new List<string>(
    new string[]{"asd", "aaa", "qwe", "123123", "", null, "", null, ""});
return String.Join(", ", list.Where(i => !String.IsNullOrEmpty(i)).ToArray());
0
ответ дан 3 December 2019 в 13:56
поделиться
Другие вопросы по тегам:

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