0

我编写了以下代码将 CSV 文件的内容复制到数据表,但是内容包含引号。我已经尝试了几种方法来删除它们,但现在我不知道该怎么做。如果有人能告诉我方法,我将不胜感激。

        Dim line As String
        Dim strArray() As String
        Dim dt As DataTable = New DataTable()
        Dim row As DataRow

        Using strm As IO.StreamReader = New IO.StreamReader("" & Spreadsheet & "")

            line = strm.ReadLine
            strArray = Split(line, ",")
            For Each s As String In strArray
                dt.Columns.Add(New DataColumn(s))
            Next

            While Not strm.Peek = -1
                line = strm.ReadLine
                row = dt.NewRow()
                Dim mySplit() As String = line.Split(",")

                For i As Integer = 0 To mySplit.Length - 1
                    row(i) = mySplit(i)
                Next
                dt.Rows.Add(row)
            End While
        End Using
4

2 回答 2

1

虽然对其他方法留下了一些很好的评论,但如果您必须坚持这种方法,您可以使用 Replace 函数将所有引号替换为空字符串:

row(i) = Replace(mySplit(i), Chr(34), String.Empty)

如果您想保留引号并且只担心第一个和最后一个字符,我建议您查看 Mid 或 SubString 函数。

于 2013-06-26T13:25:05.387 回答
0

有用于操作字符串的扩展函数。

row(i) = mySplit(i).Replace("""", "")
于 2013-06-26T13:31:24.493 回答