我想删除所有的双引号在CSV文件中使用正则表达式,如果它在双引号之间。目前,我使用以下正则表达式来完成此操作:仅从数字开始,而不是从字母表开始。输入是
"000027679","ROMANO","CRYSTAL","S","FT","19990706","19990706","A",,"006901",我尝试过这个正则表达式
string newcontent = Regex.Replace(contents, @"[\""]", "");但这删除了我不想要的所有双引号。我只想删除数字中的双引号。
发布于 2015-11-14 14:10:20
您可以在正则表达式中对捕获的组执行此操作,使用正则表达式并将其替换为捕获的值
代码:
string contents="\"000027679\",\"ROMANO\",\"CRYSTAL\",\"S\",\"FT\",\"19990706\",\"19990706\",\"A\",,\"006901\"";
string newcontent = Regex.Replace(contents,@"""(\d+)""", "$1");<hr>输出:
000027679,"ROMANO","CRYSTAL","S","FT",19990706,19990706,"A",,006901发布于 2015-11-14 14:06:09
使用正向前视和后视。表示仅当前面的字符或后面的字符是数字时,双引号才匹配。
string newcontent = Regex.Replace(contents, @"(?<=\d+\d)[""]|[""](?=\d+\d)", "");https://stackoverflow.com/questions/33705588
复制相似问题