【问题标题】:Escaping Non Alphanumeric Characters in C# for CSV在 C# 中为 CSV 转义非字母数字字符
【发布时间】:2013-09-10 01:59:20
【问题描述】:

我将它作为 C# 中字符串的一部分:

!"£$$$$$$%& 

它最终应该是:

!,",£,$$$$$$,%,&

我的代码在字符发生变化的每一点都用逗号分隔,以便对该部分进行排序。

但是,当在 CSV 文件中打开此输出时,它会变得一团糟,因为 Excel 不喜欢 " 之类的东西。

如何轻松转义导致问题的字符?我猜我需要做类似的事情:

String.Replace("\"","X") 

【问题讨论】:

  • 在 Excel 中创建一个包含 " 的文档,将其另存为 CSV,然后查看它的样子,这样您就可以将 " 发送为 " 而不是另一个字符? (请注意,Excel 的 CSV 实现使用区域设置,并且您的 CSV 文件不会在我系统上的 Excel 中打开,因为我的区域设置的列表分隔符是 ;,而不是 ,。)
  • 您是否尝试过您认为可能需要做的事情?

标签: c# csv escaping


【解决方案1】:

在 excel 中,引号被写入 CSV 中的 """"(4 个引号) --> 包含转义引号的字符串

这导致以下表达式:

String.Replace("\"","\"\"\"\"")

这将在 excel 中显示单引号,但您必须知道您的 数据 已更改。

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 2019-09-15
    • 2014-09-26
    • 2011-09-15
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多