Установка ограничения длины строки, затем либо подстрока, либо заполненное пространство - PullRequest
1 голос
/ 15 сентября 2011

Сценарий : я создаю файл, который должен быть в этом формате https://www.rbcroyalbank.com/ach/file-451771.pdf. Мне нужно иметь возможность установить ограничение длины строки для определенных полей.

Вопрос : Есть ли простой способ установить предел поля так, чтобы, если строка была больше, чем предел, тогда просто взяли подстроку, а если меньше, добавились бы дополнительные пробелы?

Примечание : я смог сделать что-то подобное с целыми числами, просто используя .toString ("00000").

Ответы [ 3 ]

7 голосов
/ 15 сентября 2011

Вы можете использовать PadRight в сочетании с методами Substring (где, конечно, 5 может варьироваться в зависимости от ваших потребностей):

Console.WriteLine("'{0}'", "abcdefgh".PadRight(5).Substring(0, 5));
Console.WriteLine("'{0}'", "abc".PadRight(5).Substring(0, 5));

печать:

'abcde'
'abc  '
3 голосов
/ 15 сентября 2011

Это просто.

const int MaxStringLength = 100;  /* set to your maximum length */
...
myString = (myString.Length >= MaxStringLength)
            ? myString.Substring(0, MaxStringLength)
            : myString.PadRight(MaxStringLength);
3 голосов
/ 15 сентября 2011

Вы можете использовать string.PadLeft или string.PadRight, чтобы дополнить ваши строки символом, и string.Substring, чтобы ограничить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...