Bạn có thể có thể lừa nó và sử dụng regex để tìm kiếm:
"(.*?)"(?=,|$)
Nhưng đó là loại hack-ish (về cơ bản, chỉ chấp nhận một câu trích dẫn kết thúc khi ngay sau đó là dấu phẩy hoặc cuối dòng). Logic tương tự sẽ áp dụng cho tìm kiếm thay thế. (Một lần nữa, tất cả điều này giả định rằng một trích dẫn "đi lạc" sẽ không bao giờ tuân theo các quy tắc CSV tiêu chuẩn (ví dụ:có dấu phẩy / dòng [đầu / cuối] trước hoặc sau nó))
Tôi cho rằng bạn không có quyền kiểm soát dữ liệu gốc và phải làm việc với những gì bạn có?
CHỈNH SỬA
Mặc dù tôi chỉ thử điều này trên một nhỏ mẫu dữ liệu của bạn, điều này dường như để tìm các dấu ngoặc kép "lạc", mà bạn có thể sử dụng thay thế bằng ""
trên:
(?<!^|"|,)"(?!"|,|$)