为行

时间:2017-02-28 20:40:58

标签: string vb.net sorting for-loop foreach

我完全坚持一项相当简单的任务,但我并不完全确定如何制作这项功能。我有一个简单的字符串,如下所示:

{
"0":{"variable1":"ABC1","variable2":"AA","variable3":"BB"},
"5":{"variable1":"ABC2","variable2":"AA","variable3":"BB"},
"3":{"variable1":"BC3","variable2":"AA","variable3":"BB"},
"1":{"variable1":"DC4","variable2":"AA","variable3":"BB"},
"4":{"variable1":"DD5","variable2":"AA","variable3":"BB"}
}

我想在VB.NET中尝试做的是创建一个循环,找到每一行并排列第一个数字" 0"," 1",等等,取决于它所在的行,然后简单地用正确的订单号替换其中的任何数字。

简单来说:

1)查找字符串有多少行。例如,让我们说20行。

2)查找并替换""中的每个数字:本例中1-20的行的起点。

如果使用顶部的示例,则输出看起来如下:

{
"2":{"variable1":"ABC1","variable2":"AA","variable3":"BB"}, //"2" because it is the second line within the string
"3":{"variable1":"ABC2","variable2":"AA","variable3":"BB"},
"4":{"variable1":"BC3","variable2":"AA","variable3":"BB"},
"5":{"variable1":"DC4","variable2":"AA","variable3":"BB"},
"6":{"variable1":"DD5","variable2":"AA","variable3":"BB"}
}

快速修复的想法?

1 个答案:

答案 0 :(得分:0)

问题可能是"我有X而我需要Y"其中X是需要注意的项目。

如果字符串确实如您所示,那么

Imports System.Text

Module Module1

    Sub Main()
        Dim s = "{
""0"":{""variable1"":""ABC1"",""variable2"":""AA"",""variable3"":""BB""},
""5"":{""variable1"":""ABC2"",""variable2"":""AA"",""variable3"":""BB""},
""3"":{""variable1"":""BC3"",""variable2"":""AA"",""variable3"":""BB""},
""1"":{""variable1"":""DC4"",""variable2"":""AA"",""variable3"":""BB""},
""4"":{""variable1"":""DD5"",""variable2"":""AA"",""variable3"":""BB""}
}"

        Dim t = s.Split({vbCrLf}, StringSplitOptions.None)

        Dim u As New StringBuilder

        For i = 0 To t.Length - 1
            If t(i).StartsWith("""") Then
                Dim parts = t(i).Split({":"c}, 2)
                If parts.Count = 2 Then
                    u.AppendLine($"""{i + 1}"":{parts(1)}")
                End If

            Else
                u.AppendLine(t(i))
            End If
        Next

        Console.WriteLine(u.ToString().TrimEnd())

        Console.ReadLine()

    End Sub

End Module

输出:

{
"2":{"variable1":"ABC1","variable2":"AA","variable3":"BB"},
"3":{"variable1":"ABC2","variable2":"AA","variable3":"BB"},
"4":{"variable1":"BC3","variable2":"AA","variable3":"BB"},
"5":{"variable1":"DC4","variable2":"AA","variable3":"BB"},
"6":{"variable1":"DD5","variable2":"AA","variable3":"BB"}
}