我有一个csv文件,其中有一个包含逗号的字段。例如,在“办公地点”列下,我的值为xyz,即建筑物。当我通过调试器检查该值时,它仅显示“ \” xyz”。我尝试使用Replace(",","")
和Replace("\"","")
来转义逗号和反斜杠,但失败了。另外,我在结果中得到了额外的\
用红色圆圈标记。
我在调试时附加了图像,显示了csv行的结构。问题出在红色圆圈区域。
我也尝试过以下功能:
public static string RemoveColumnDelimitersInsideValues(string input)
{
const char valueDelimiter = '"';
const char columnDelimiter = ',';
StringBuilder output = new StringBuilder();
bool isInsideValue = false;
for (var i = 0; i < input.Length; i++)
{
var currentChar = input[i];
if (currentChar == valueDelimiter)
{
isInsideValue = !isInsideValue;
output.Append(currentChar);
continue;
}
if (currentChar != columnDelimiter || !isInsideValue)
{
output.Append(currentChar);
}
}
return output.ToString();
}
请帮助解决问题。谢谢