1

C# を使用して文字列内の各 " " の間のコンマ ',' を削除するにはどうすればよいですか?

私は試してみました:

string result = Regex.Replace(input,
@",([^""]$)",String.Empty);

しかし、うまくいきません...

感謝

4

3 に答える 3

5

私の考えは、「引用符」で分割して、各不均等なインデックス要素が引用符の間にあるものになるようにすることです。それらを調べて、コンマを何も置き換えずに、すべてを単一の文字列に再結合すると、うまくいくはずです。

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-06T02:16:03.003 に答える
1

入力文字列がどのように見えるかについて少し混乱していますが、カンマの単純な置換を試みている限り、試すことができます

var result = input.replace(",","");
于 2012-08-06T02:01:59.337 に答える
0
// 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-06T03:06:24.047 に答える