[英]How to remove double quotes inside double quotes
我有一個問題,無法弄清楚該怎么做。
問題:我需要在雙引號內刪除雙引號
字符串示例:
“MIKE YANICK”,“412 A AVE”E“,”“,”NADIEN PA“,”“,”190445468“
如您所見,“412 A AVE”E“中的字母E有一個額外的雙引號。
我需要刪除它。
這是我的結果應該是:
“MIKE YANICK”,“412 A AVE E”,“”,“NADIEN PA”,“”,“190445468”
請幫忙...
您可以使用這樣的正則表達式:
(?<!(^|,))"(?!(,|$))
這將匹配任何不是由字符串的開頭或逗號開始的雙引號( "
),並且后面沒有逗號或字符串的結尾。
這適用於您的示例:
Regex.Replace("\"MIKE YANICK\",\"412 A AVE \"E\",\" \",\"NADIEN PA\",\" \",\"190445468\"",
"(?<=\")([^,]*)(?=\")",
m => m.Value.Replace("\"", string.Empty)) ;
輸出:
"MIKE YANICK","412 A AVE E"," ","NADIEN PA"," ","190445468"
我要做的是,查找",
。如果引號不在逗號旁邊,請刪除引號。
如何使用替換呢?
就像是:
string test = "\"MIKE YANICK\",\"412 A AVE \"E\",\" \",\"NADIEN PA\",\" \",\"190445468\"";
string[] fields = test.Split(new char[] {','});
StringBuilder result = new StringBuilder();
bool first = true;
foreach (var field in fields)
{
if(first)
{
first = false;
}
else
{
result.Append(",");
}
result.AppendFormat("\"{0}\"", field.Replace("\"",""));
}
Console.WriteLine (string.Format("Old : {0} New: {1}", test,result.ToString()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.