CsvReader - 制表符分隔符数据

时间:2016-10-21 14:27:18

标签: c# tabs delimiter

我正在使用来自https://github.com/phatcher/CsvReader

的CsvReader

分隔符将取决于数据源的类型,因此我的分隔符char存储在数据库中。

它对Comma(,)和Pipe(|)完全正常。

现在我得到了Tab分隔值,而制表符是" \ t"即CsvReader预期的2个字符而不是1个字符。

所以我将分隔符的数据类型更改为Varchar(2),现在在C#中修改它时抛出错误为" String必须正好是一个字符长"

另一种选择是存储Ascii值并在C#中转换为Char。

将字符串转换为char时,我可以使用Escape字符做什么吗?

2 个答案:

答案 0 :(得分:1)

字符串文字" \ t"指定的字符串是1个字符长。它只需要在字符串文字中指定两个字符(实际上包括引号四个)。

答案 1 :(得分:0)

转义值仍然是一个字符长。您可以编写以将制表符(ASCII 9)分配给char变量:

        char value = '\t';

如果您需要转换从数据库读取的转义字符串,您只需将\ t值替换为实际值,即:

        string newstring = mystring.Replace("\\t", "\t");