我創建一個CSV文件上傳到網站拋出一個合適的,如果有這麼多作爲一個轉義句號。是否有理由不在CSV文件中使用雙引號?
在試圖找出哪些字段需要轉義我有
頭痛
有趣的是學習了一點正則表達式,但這是沒有意義的嗎?是否有任何理由不把每個字段都用雙引號括起來並且用它來完成?
這似乎矯枉過正,但隨後也許搜索每個字符串更矯枉過正,嘿。
這裏是我的功能:
Private Sub WriteToCSVFile(ByVal s As String(,), ByVal sFileName As String)
Dim sb As New System.Text.StringBuilder
For i As Integer = 0 To s.GetUpperBound(0)
For j As Integer = 0 To s.GetUpperBound(1)
If Regex.Match(s(i, j), "^[\w ]*$").Success Then
sb.Append(s(i, j) & IIf(j = s.GetUpperBound(1), "", ","))
Else
sb.Append("""" & s(i, j) & IIf(j = s.GetUpperBound(1), """", ""","))
End If
Next
sb.AppendLine()
Next
System.IO.File.WriteAllText(Application.StartupPath & "\" & sFileName, sb.ToString)
End Sub
您仍然需要轉義雙引號 – CodesInChaos 2013-05-08 22:24:48
沒有理由不應引用任何/所有「文本」字段。某些程序(舊版本的Excel)會將帶引號的字段視爲文本,而不管其內容(例如數字)如何,以便可能會或可能不會成爲您的問題。 – 2013-05-08 22:25:20