String pattern = String.Format("{0}(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))", ',');
            Regex r = new Regex(pattern);
            String[] strArray = r.Split(strLine);请问怎么解释上面的那则正则表达式?

解决方案 »

  1.   

    是的,请问怎么修改呢,因为我的字符串本上可能包含",比如A"B(这是一个string),之类的,以上是用于读取CSV文件的,但是写CSV的时候,如果在一个Column的string中包含symbol",用上面的代码解析就会出错,但是如果打开CSV文件,删除这个",然后在手动的重新写上",在解析,就正确了,我很奇怪,请指教, :)
      

  2.   

    假设有写入CSV文件中一行,3个column,对应三个字符串,"ABCD"/ ,AB,"CD, / "ABCD
    其中的‘“’,和‘,’都是字符串本身含有的
    我从csv文件里面读出一行,现在我要怎么将它还原成这3个串?好像无论如何都不行,因为字符串本身的分隔符逗号,和‘,’,以及为了让一个column中的字符串能含有‘,’,加入的引号,使得解析的时候无法区分开和判别。请大家指教
    我个人觉得要解决这个问题,还要从写入的时候进行限制或者改进。
      

  3.   

    修改一下,
    因为CSV每列本身的分隔符逗号和‘,’
    补充:读写CSV都是由我控制的
    其实目的就是:能将一些数据写入CSV文件,数据中能包含任意字符
    现在遇见的问题是:写入ok,读取出来,还原遇见困难。