我想在CSV文件中使用正则表达式删除所有双引号 如果它介于双引号之间。目前我正在使用以下正则表达式来执行此操作:仅从数字而不是字母表.. 输入是
"000027679","ROMANO","CRYSTAL","S","FT","19990706","19990706","A",,"006901",
我试过这个正则表达式
string newcontent = Regex.Replace(contents, @"[\""]", "");
但这是删除了我不想要的所有双引号。 我想从数字中删除双引号。
答案 0 :(得分:3)
您可以在正则表达式中使用捕获的组执行此操作,使用正则表达式 "(\d+)"
并将其替换为捕获的值
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
答案 1 :(得分:0)
使用积极的向前看和向后看。表示双引号仅在前面的字符或下一个字符是数字时才匹配。
string newcontent = Regex.Replace(contents, @"(?<=\d+\d)[""]|[""](?=\d+\d)", "");