заполнение середины строки - PullRequest
0 голосов
/ 16 октября 2019

У меня есть поле Textbox, которое принимает строку с пределом символов 10. Я хотел бы реализовать сокращенную версию, потому что в строке много нулей, которые необходимо ввести. поэтому пример строки - T000028999. но id хотел бы ввести T28999, чтобы нули были добавлены между «T» и «28999» и отображались как строка T000028999 в поле «Текстовое поле». Это вообще возможно?

Я пробовал искать примеры в Google и нашел только способы дополнить начало и конец строки.

1 Ответ

2 голосов
/ 16 октября 2019

Вы хотите сохранить первый символ, поэтому вы можете использовать oldString.Chars(0), чтобы получить его.

Вам нужен остаток строки: oldString.Substring(1), и вы можете дополнить его до требуемой ширины. с персонажем по вашему выбору с PadLeft, например:

Dim newString = oldString.Chars(0) & oldString.Substring(1).PadLeft(9, "0"c)

Было бы неплохо проверить, что oldString имеет длину не менее 1 символа, прежде чем делать это, иначе .Chars(0) будетвыдает ошибку.

В качестве альтернативы вы можете вставить новую строку необходимого количества «0»:

Dim newString = oldString.Insert(1, New String("0"c, 10 - oldString.Length))

Хорошее место для выполнения форматирования будетбыть в элементе управления Validating . (Обработчик событий TextChanged не будет подходящим местом, поскольку он будет мешать вводу пользователя.)


Refs:

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