用逗号分隔每个数字

时间:2020-02-12 14:11:17

标签: vb.net

我在Textbox1中输入以下内容:

27
408
73
49
80
71
70

我想在每个数字之间分别添加一个逗号。我想自动执行此操作,在字符之间添加逗号。

like:注意:如果有3个字符(如408),则为40,8,为70时为7,0。如果我有一个用逗号分隔字符的示例代码,我想可以做到这一点。

2,7
40,8
7,3
4,9
8,0
7,1
7,0

代码:此代码无法正常工作。显示许多值,并且错误地键入3.3、4、5、6、7、78等,以及许多行。他不应该做什么。

 Dim XStrsLength = TextboxIndex1.Text.Length
        Dim XStrs As List(Of String) = New List(Of String)
        Dim str As String = TextboxIndex1.Text
        Dim last As Integer
        For interval As Integer = 1 To XStrsLength
            Dim xstr As String = ""
            For I As Integer = 0 To str.Length - interval - 1 Step interval
                xstr &= str.Substring(I, interval) & ","
                last = I
            Next
            xstr &= str.Substring(last + interval)
            XStrs.Add(xstr)
        Next interval
TextBox1.Text = String.Join("", XStrs)

2 个答案:

答案 0 :(得分:1)

您可以使用String.Insert(Integer, String)插入逗号:

如果该行有2个字符,则为yourline.Insert(1, ",")

否则包含3个字符:yourline.Insert(2, ",")

答案 1 :(得分:1)

尝试此代码。它解析TextBox1中的内容,并将结果放入TextBox2中:

Private Sub Test()
   Dim pieces() As String = TextBox1.Text.Split(ControlChars.CrLf.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
   Dim str As String = ""

   For Each piece As String In pieces
      str &= piece.Insert(piece.Length - 1, ",") & ControlChars.CrLf
   Next

   TextBox2.Text = str.Substring(0, str.Length - 2)
End Sub