0

私のデータは次のようになります。

8/29/2013<tab>1<tab>name<tab>aaaaaaaaaaa<tab>12
8/29/2013<tab>22<tab>asd<tab>asd<tab>123
8/29/2013<tab>23<tab>xycabc<tab>asd<tab>12

そして、私はこのようなものが必要です:

RECEIVED on:8/29/2013 FROM:name AMOUNT:12
RECEIVED on:8/29/2013 FROM:asdAMOUNT:123

私はこれを試しました:

Dim rvsr As New IO.StreamReader(vcFile)
Dim vText As String
Dim vstring(-1) As String
p1 = "    "
Dim vData As String = ""
While rvsr.Peek <> -1
    vText = rvsr.ReadLine()
    vstring = vText.Split(p1)
    vData = vData + vbCrLf + "RECEIVED ON: " + vstring(0) + " FROM: " + vstring(1) + " AMOUNT: " + vstring(2)
End While
RichTextBox_WD.Text = vData
rvsr.Close()
4

2 に答える 2

0
RichTextBox_WD.Text = String.Join(vbCrLf, File.ReadLines(vcFile).Select(Function(line)
                                                                            Dim format = "RECEIVED ON: {0} FROM: {1} AMOUNT {2}"
                                                                            Dim fields = line.Split(vbTab)
                                                                            Return String.Format(format, fields(0), fields(1), fields(2))
                                                                        End Function)

私は、(区切り文字とオプションの変換デリゲートを使用して)ラップする拡張メソッドと、ラップするJoined拡張メソッドを作成することを好みます。IEnumerable<T>String.JoinFormattedStringString.Format

RichTextBox_WD.Text = File.ReadLines(vcFile).Joined(vbCrLf, Function(line)
                                                                Dim format = "RECEIVED ON: {0} FROM: {1} AMOUNT {2}"
                                                                Dim fields = lines.Split(VbTab)
                                                                Return format.Formmatted(fields(0), fields(1), fields(2))
                                                            End Function)
于 2013-08-30T04:23:09.100 に答える