如何在C#中的字符串中的每個「」之間刪除逗號','?刪除C#中的「」之間的逗號
我有嘗試:
string result = Regex.Replace(input,
@",([^""]$)",String.Empty);
,但它不工作...
感謝
如何在C#中的字符串中的每個「」之間刪除逗號','?刪除C#中的「」之間的逗號
我有嘗試:
string result = Regex.Replace(input,
@",([^""]$)",String.Empty);
,但它不工作...
感謝
我的想法是拆分「qu otes「,因此每個不均勻指數元素都是引號之間的東西。 通過這些去,什麼也沒有更換逗號他們,然後再結合一切一個字符串,應該做的伎倆:
var parts = input.Split('"');
for (var i = 1; i < parts.Length; i += 2)
{
parts[i] = parts[i].Replace(",", "");
}
var result = string.Join("\"", parts);
這是一個不錯的訣竅 – 2012-08-06 02:24:05
+1。整潔的事情是,這種方法應該工作在逃脫的CSV引用也是如此,因爲引號通過加倍而逃脫(「this」是一個測試。)。 – StriplingWarrior 2012-08-06 02:28:27
@StriplingWarrior非常好!我確實在考慮一個空的「」的情況,但沒有想到CSV格式的轉義報價效果如何?酷,你指出了它! – SimpleVar 2012-08-06 02:30:24
// extract the fields
Regex CSVParser = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
String[] Fields = CSVParser.Split(Test);
// clean up the fields (remove " and leading spaces)
for (int i = 0; i < Fields.Length; i++)
{
Fields[i] = Fields[i].TrimStart(' ', '"');
Fields[i] = Fields[i].TrimEnd('"');
}
基本上你的正則表達式替換逗號後,除了'「字符'成一個空字符串,所以...? – 2012-08-06 02:02:31
你是什麼意思'在每個「」之間?'你的意思是一個字符串文字嗎? – 2012-08-06 02:03:42
例如aaaaaa,bbbbb,cccc,「bbbb,aaaa」,aaa,「vv,x」會來:aaaaaa,bbbbb,cccc,「bbbb aaaa」,aaa,「vv x」 – Maxime 2012-08-06 02:05:18