2010-12-06 6 views
0

У меня есть текстовое поле, я хочу сгруппировать все входные данные два на два.Группа по парам все текстовые поля ввода vb.net 2010

Вход: E5D3DFOXJFUIOXZJDFCNIUEBSKDLFJCNESODFKJ

Я хочу стать: E5 D3 DF OX JF UI OX ZJ DF CN IU EB SK DL FJ CN ES OD FK J

Как я могу это сделать?

У меня есть эта функция, но это на самом деле не работает:

For i As Integer = TextBox1.Text.Length - 2 To 2 Step -2 
     TextBox1.Text = TextBox1.Text.Insert(i, " ") 
    Next 

Это дает мне что-то вроде этого:

E5D 3D FO XJ FU IO XZ JD FC NI UE BS KD LF JC NE SO DF KJ 

или когда строка слишком долго, это так:

E5D 3D FO XJ FU IO XZ JD F C NI UE BS K D LF JC NE SO DF KJ 

Любой может мне помочь?

ответ

0

Пожалуйста, извините, что язык переведен на C#. Не особенно элегантно, но следующий код должен работать как для четных и нечетных длин струны

string buffer = String.Empty; 

    for (int i = 0; i < textBox1.Text.Length; i += 2) 
    { 
     // Exclude the case where 1 or 2 remaining chars here (no trailing space) 
     if (textBox1.Text.Length - i > 2) 
     { 
      buffer += textBox1.Text.Substring(i, 2) + " "; 
     } 
     else 
     { 
      buffer += textBox1.Text.Substring(i); 
     } 
    } 
    textBox1.Text = buffer; 
+0

Ok спасибо Вам за ответ в Visual Basic 2010 будет: Dim буфер As String = [String] .Empty Для я As Integer = 0 To Text Box1.Text.Length - 1 Шаг 2 Исключить случай, когда здесь 1 или 2 оставшихся символа (без пробелов) Если TextBox1.Text.Length - i> 2 Then buffer + = TextBox1.Text.Substring (i, 2) & "" остальное буфер + = TextBox1.Text.Substring (я) Конец Если Следующая TextBox1.Text = буфер KNA82 – KNA 2010-12-06 06:22:42

0

Thanls Вас за ответ, C# или VB.net это то же самое :-) в vb2010 будет:

Dim buffer As String = [String].Empty 

    For i As Integer = 0 To TextBox1.Text.Length - 1 Step 2 
     ' Exclude the case where 1 or 2 remaining chars here (no trailing space) 
     If TextBox1.Text.Length - i > 2 Then 
      buffer += TextBox1.Text.Substring(i, 2) & " " 
     Else 
      buffer += TextBox1.Text.Substring(i) 
     End If 
    Next 
    TextBox1.Text = buffer 

KNA82.ACM