0

我有一个文本框,我想将所有输入两两分组。

输入: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

任何人都可以帮助我吗?

4

2 回答 2

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;
于 2010-12-06T06:01:46.380 回答
0

感谢您的回复,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

于 2010-12-06T06:30:46.373 回答