RULE:
看到"就在他的两边加""再在原有的"边上加"
"  -> """"
t" -> "t"""
t"t ->"t""t"
看到,就在他的两边加""
,  ->","
,t ->",t"
如果,"同事出现两边加"" 再在原有的"边上加"
t"t,tt",e ->"t""t,tt"",e"其实这些是在解析.csv文件碰到的!求助大侠!

解决方案 »

  1.   

    其实我根本就没看懂看到,就在他的两边加"" 
    ,t ->",t"  ????? 两边加"",应该加在逗号两边才对啊 ,t -> ","t 像这样
      

  2.   

    简单了说吧!
    汗~~
    给定字符:dw,"kk,ll",",yioi",iu,",",r3,"""fte",l,"kk""ll",mm'oo,"n""dw,erw"",e",,
    要求结果:dw kk,ll ,yioi iu , r3 "fte l kk"ll mm'oo n"dw,erw",e  
      

  3.   

    正则表达式专家写的代码,已经优化过了。这个表达式比较复杂,涉及到很多的正则表达式语法,而且优化的程度并不是普通人所能达到的。
    像这种程序(表达式)建议大家都收藏一下。转引自 Jeffrey E.F.Friedl, Mastering Regular Expressions, 3rd ed., 
            8.9.1. Parsing Comma-Separated Values (CSV) Text.原文的表达式是采用行内嵌注释模式书写的,这里将其合并了,特此说明一下。import java.util.regex.Pattern;
    import java.util.regex.Matcher;public class Test {
        public static void main(String[] args) {
            String str = "dw,\"kk,ll\",\",yioi\",iu,\",\",r3,\"\"\"fte\",l,\"kk\"\"ll\",mm'oo,\"n\"\"dw,erw\"\",e\",, ";
            String regex = "\\G(?:^|,)(?:\"([^\"]*+(?:\"\"[^\"]*+)*+)\"|([^\",]*+))";
            Matcher main = Pattern.compile(regex).matcher(str);
            Matcher mquote = Pattern.compile("\"\"").matcher("");
            while (main.find()) {
                String field;
                if (main.start(2) >= 0) {
                    field = main.group(2);
                } else {
                    field = mquote.reset(main.group(1)).replaceAll("\"");
                }
                System.out.println("Field [" + field + "]");
            }
            System.out.println("dw kk,ll ,yioi iu , r3 \"fte l kk\"ll mm'oo n\"dw,erw\",e");
        }
    }
      

  4.   

    这个有问题,当第一位空时,解析不出来

    str=",123,23456";
    这个串解析不出来。