仅从Numbers中删除双引号

时间:2015-11-14 05:55:13

标签: c# regex

我想在CSV文件中使用正则表达式删除所有双引号 如果它介于双引号之间。目前我正在使用以下正则表达式来执行此操作:仅从数字而不是字母表.. 输入是

"000027679","ROMANO","CRYSTAL","S","FT","19990706","19990706","A",,"006901",

我试过这个正则表达式

string newcontent = Regex.Replace(contents, @"[\""]", "");

但这是删除了我不想要的所有双引号。 我想从数字中删除双引号。

2 个答案:

答案 0 :(得分:3)

您可以在正则表达式中使用捕获的组执行此操作,使用正则表达式 "(\d+)" 并将其替换为捕获的值

<小时/> 的 CODE:

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)", "");