如何在VB.NET中每2个数字向数字字符串添加空格?

Tha*_*ess 2 .net vb.net

结论:我使用了一个正则表达式,它在一行代码中处理任意长度的字符串中的数字和字母.

       dim rtn as String = Regex.Replace(input, "..", "$& ")
Run Code Online (Sandbox Code Playgroud)

我想取任意长度的数字字符串,每2个字符插入一个空格.所以1233456变为12 33 45 6.

有没有办法可以将格式用作字符串或IFormatProvider,比如?这会限制字符串的长度,对吧?因为我要投入很长时间.

        CLng((input)).ToString("## ")
Run Code Online (Sandbox Code Playgroud)

编辑 - 这是原始问题.我想取任意长度的字符串并每2个字符插入一个空格.123dssas4rr应该变为12 3d ss为4r r

我笨手笨脚地使用

    Dim rtn As String = String.Empty

    Dim i As Integer = 0
    For Each a In input.ToCharArray
        rtn = String.Concat(rtn, a)
        i = i + 1
        If i Mod 2 = 0 Then
            rtn = String.Concat(rtn, " ")
        End If
    Next
Run Code Online (Sandbox Code Playgroud)

cHa*_*Hao 5

string rtn = Regex.Replace(input, "..(?=.)", "$& ");
Run Code Online (Sandbox Code Playgroud)

或者在VB中

dim rtn as String = Regex.Replace(input, "..(?=.)", "$& ")
Run Code Online (Sandbox Code Playgroud)

您需要先导入System.Text.RegularExpressions(或添加命名空间名称)Regex.

如果您Trim在更换后愿意使用该字符串,那么您可以完全摆脱括号(以及其中的内容).但是,您需要一个或另一个,因此具有偶数个字符的字符串最后没有额外的空格.