按行循环(vb.net)按数字顺序组合字符串

时间:2017-03-01 19:52:33

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

我有一个复杂类型的字符串,我只需要根据行号重新排列每行的第一个“”:部分。

示例:RichTextBox1:

{"5":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "3":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "10":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "4":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "2":{"var1" : "Data", "var2" : "Data", "var3": "Data"}}

我想根据当前行号查找和替换号码。如你所见,有5行。所以字符串应显示“1”:然后第二行的开头“2”:等等......

我想做的输出如下:

{"1":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "2":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "3":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "4":{"var1" : "Data", "var2" : "Data", "var3": "Data"},
 "5":{"var1" : "Data", "var2" : "Data", "var3": "Data"}}

我目前知道如何查找和替换文本的方式在VB.NET上是这样的:

Dim Lines() As String = RichTextbox1.Lines
        Lines(1) = Lines(1).Replace("""1""", """1""")
        Lines(2) = Lines(2).Replace("""1""", """2""")
        Lines(3) = Lines(3).Replace("""1""", """3""")
        Lines(4) = Lines(4).Replace("""1""", """4""")
        Lines(5) = Lines(5).Replace("""1""", """5""")
RichTextBox1.Lines = Lines

但这里有两个问题。

问题1:我需要预先指定多少行。在我的应用程序中,我不知道数据将包含多少行。这将是不同的日常,因此需要一个循环?

问题2:我需要预先指定要替换的行中的哪个数字,但这是一个未知变量。它可以是该字符串中的任何数字。

关于如何制作此类功能的任何想法?简而言之,它只需要逐行循环并在“”:部分的每一行开头指定一个数字,例如1,2,3,4,5。

0 个答案:

没有答案