在C#中,如何在逗号分隔文件中的另一个双引号内删除/替换Double Quote?

时间:2017-08-16 15:28:43

标签: c# ssis

如何在逗号分隔文件中的另一个双引号内删除或替换Double Quote?

以下是文本文件内容:

,"188 "F" ST #1",

我需要摘下双引号如下:

,"188 F ST #1",

我一直在尝试使用正则表达式和其他替换函数,但无法解决这个问题。任何帮助将不胜感激!

由于

2 个答案:

答案 0 :(得分:2)

这个问题本质上是指定不足的,因为它没有提供任何方法来区分引用字符串中的引号和关闭字符串的引号。

定义此方法的一种方法是"所有引号都不在前面,而不是后跟逗号",因此不考虑,"",序列;您还需要保留初始和尾随引号。

这是一个正则表达式:

(?<!^|,)\"(?!$|,)

表达式中间的引号字符\"被左侧的负面后视和右侧的负前瞻所包围。后台在行的开头拒绝引号,在逗号后面引用引号。前瞻拒绝行尾的引号,引号后跟逗号。

Demo.

答案 1 :(得分:0)

试试这个

string content = "words ,\"188 \"F\" ST #1\", more words";    
content =content.Replace("\"","");
content ="\"" + content.Replace(",","\",\"") + "\"";

这将用双引号包装每个逗号,它还将确保字符串以双引号开头和结尾

DEMO