我创建一个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