我正在阅读一个文本文件,我需要使用我标记为{0},{1},{2},{3},{4},{5},{6}的新文本替换一些区域.
所以我加载文本,将其保存到字符串变量,然后使用String.Replace但它不起作用.
For i As Integer = 0 To 6
fileText.Replace("{" & i & "}", DisplayStudentData(i))
Next
Run Code Online (Sandbox Code Playgroud)
而DisplayStudentData看起来像这样:
Protected Function DisplayStudentData(ByVal itemNumber As Integer) As String
Dim dsItem As String = ""
If itemNumber <> -1 Then
Select Case itemNumber
Case 0
dsItem = "testFirstName"
Case 1
dsItem = "testTitle"
Case 2
dsItem = "testClass"
Case 3
dsItem = "testTeacher"
Case 4
dsItem = "testDept"
Case 5
dsItem = "testEmail"
Case 6
dsItem = "testPhone"
End Select
End If
Return dsItem
End Function
Run Code Online (Sandbox Code Playgroud)
看起来上面应该有效,但事实并非如此.
任何帮助将不胜感激.
谢谢!
好的,我想通了......
我将所有数据项放入一个数组中,然后在加载文本文件后执行此操作:
fileText = String.Format(fileText, dArr(0), dArr(1), dArr(2), dArr(3), dArr(4), dArr(5), dArr(6))
Run Code Online (Sandbox Code Playgroud)
这是一个很好的方式吗?
Joe*_*orn 10
fileText = fileText.Replace("{" & i & "}", DisplayStudentData(i))
Run Code Online (Sandbox Code Playgroud)
Replace返回一个新字符串.它不会修改调用它的字符串.
你也可以这样做:
fileText = String.Format(fileText, Enumerable.Range(0,7).Select(Function(i) DisplayStudentData(i)).ToArray())
Run Code Online (Sandbox Code Playgroud)
为什么DisplayStudentData首先只是一个数组(这会使string.Format()更容易)?
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |