仅从数字中删除双引号

本文关键字:删除 数字 | 更新日期: 2023-09-27 18:21:49

我想在CSV文件中使用regex删除所有双引号如果它在双引号之间。目前,我使用以下正则表达式来实现这一点:只从数字而不是从字母。。输入为

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

我尝试了这个正则表达式

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

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

仅从数字中删除双引号

您可以使用regex中的捕获组,使用regex"('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

使用正向先行和后向。意味着只有前一个字符或下一个字符是数字时,双引号才匹配。

string newcontent = Regex.Replace(contents, @"(?<='d+'d)[""]|[""](?='d+'d)", "");