Регулярное выражение для поля CSV, т. Е. «Любой текст, не содержащий запятую», равно [^,]*
, если вы хотите перейти к концу третьего поля, вы будете использовать
[^,]*,[^,]*,[^,]*
Теперь, если вы хотите изменить строку, вы можете использовать что-то вроде
Dim str = "Örjan,,;Svensson,,,,, and then it continues like this"
Dim re As New Regex("[^,]*,[^,]*,[^,]*")
Dim pos = re.Match(str).Length
Теперь у вас есть позиция, где вы хотите поместить дополнительную строку в pos
, и вы можете делать с ней все, что захотите.
Обратите внимание, что файл CSV может , как правило, содержать поля, которые содержат буквенные запятые и должны быть заключены в кавычки (например, Patric,"The,Man",Black,...
). Он может даже содержать перевод строки, что делает его довольно сложным для анализа, особенно с регулярными выражениями (и приведенный выше код не будет работать с такими данными). Можете ли вы быть уверены, что ваш CSV-файл не содержит полей в кавычках?