Как добавить пробел после 3-го символа в текстовом поле, если длина составляет 6 символов, или после 4-го символа, если 7 символов - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь добавить пробел после 3-го или 4-го символа в текстовом поле в зависимости от общего количества символов.

Например, если значение текстового поля содержит 6 символов, добавьте пробел после 3-го символа.Если значение текстового поля содержит 7 символов, добавьте пробел после 4-го символа.

Пример для 7 символов в текстовом поле

Before Lost Focus

Lost Focus

Пример для 6 символов в текстовом поле

Before Lost Focus

Lost Focus

Где я сейчас пытаюсь заставить это работать.

private void FirstPostcode_LostFocus(object sender, RoutedEventArgs e)
    {
        if (FirstPostcode.Text.Length == 3)
        {
            FirstPostcode.Text += " ";
        }
    }

Буду признателен за любую помощь.Благодарю.

Ответы [ 2 ]

2 голосов
/ 09 апреля 2019

Вы можете использовать Insert() для вставки пробела в третью позицию справа.

if (FirstPostcode.Text >= 3)
{
    FirstPostcode.Text = FirstPostcode.Text.Insert(FirstPostcode.Text.Length - 3, " ");
}

Если вы хотите сначала проверить, вставлен ли пробел, и не хотите его вставлятьснова вы можете использовать индексатор для строки.

if (FirstPostcode.Text.Length == 3 
     || FirstPostcode.Text.Length >= 4
        && FirstPostcode.Text[FirstPostcode.Text.Length - 4] != ' ')
{
    FirstPostcode.Text = FirstPostcode.Text.Insert(FirstPostcode.Text.Length - 3, " ");
}
0 голосов
/ 09 апреля 2019

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

            string[] inputs = { "NR105BE", "BD11AA" };

            foreach (string input in inputs)
            {
                string output = "";
                if (input.Length == 7)
                {
                    output = input.Substring(0, 4) + " " + input.Substring(4);
                }
                else
                {
                    output = input.Substring(0, 3) + " " + input.Substring(3);
                }
                Console.WriteLine(output);
            }
            Console.ReadLine();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...