Стало быть, в этом CSV есть поля, ограниченные, например, через двойной апостроф ("), как раз для случаев, когда разделитель попадается внутри поля. А разделители полей в вашем файле CSV - точка с запятой (;). И надо внутри полей удалить все (;) являющиеся частью данных, но не разделителями.
В принципе, задача достаточно рутинная и часто встречаемая.
Т.к. работаю иногда с CSV, то за годы накопился кое-какой инструментарий для этого. В частности, своя библиотека на Java. Иногда пользую и сторонние библиотеки, например Apache Common CSV . Все такие библиотеки, не только на Java, содержат функциональность считывания CSV по одной cтроке и записывания по одной строке в другой CSV.
Т.е. нет никаких трудностей написать программу на Java в 5-10 строк, которая по очереди считывает каждую строку CSV, из каждого поля удаляет (;) и записывает новую строку с теми же разделителями и ограничителями полей (;) и ("). В итоге получится файл, выглядящий как исходный, за исключением символа (;) в данных. Этот способ сработает быстрее всех прочих на порядки, а по памяти он кушает и на 3-4 порядка меньше.
Есть и специальные быстрые редакторы, заточенные именно на CSV. Пользовал
такой. Скорее всего , он сможет открыть ваш файл, достаточно быстро выполнить операцию и сохранить результат. Хотя придётся слегка его поизучать.