所以我在VB.Net项目中使用以下代码作为配置文件:
[User 1]
1|Test Button|C:\temp\test.csv|This Button is a test button
2|Test Button 2|C:\temp\test.csv|This Button is another test button
[User 2]
... etc
我想要做的是让第一部分转到名为butNum()的数组,第二部分转到名为butVal()的数组,第三部分转到butLink,第四部分转到butDes()。我到目前为止的代码如下:
While Not reader.EndOfStream
line = reader.ReadLine()
If line.StartsWith("[") Then
Dim Firstpart As String = Nothing
Firstpart = line.Replace("[", "")
Firstpart = Firstpart.Replace("]", "")
If Firstpart = login.Login1.Text Then 'this checks the user has logged in as "User 1"
While reader.ReadLine() <> ""
ReDim Preserve butNum(0 To lines)
ReDim Preserve butVal(0 To lines)
ReDim Preserve butLink(0 To lines)
ReDim Preserve butDes(0 To lines)
butNum(lines) = 'part 1 delimited
butVal(lines) = 'part 2 delimited
butLink(lines) = 'part 3 delimited
butDes(lines) = 'part 4 delimited
line = reader.ReadLine()
lines = lines + 1
End While
End If
Application.DoEvents()
Else
Application.DoEvents()
End If
End While
稍微说,我的配置文件字符串值是否需要在“”(即1|"Test Button"|"C:\temp\test.csv"...
)?我会假设没有,但它让我嘻嘻哈哈:P
答案 0 :(得分:1)
请看第二行使用拆分字符串函数。
同样正如Christian提到的那样,你是否可以改变格式以便所有信息都在一行中User1 | 1 | Test Button | ......会更好,因为你可以使用split函数并在一个中获取所有细节去。
使用拆分
的示例Dim secondlinestring As String = "1|Test Button|C:\temp\test.csv|This Button is a test button"
Dim strarr() As String
strarr = secondlinestring.Split("|"c)
For Each s As String In strarr
MessageBox.Show(s)
Next
strarr是你对secondlinestring的每个分割的数组,所以strarr(0)=“1”strarr(1)=“Test Button”等。
正如您所看到的,将一行中的所有细节分隔为|可以节省你必须编写代码以允许第一和第二行差异。