How do I ignore delimiter inside quotation marks using regexp?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Kilian Brandt
le 4 Nov 2020
Commenté : Ameer Hamza
le 6 Nov 2020
Hi everyone,
I'm writing a script to import data. The size (coloumns) of the data can vary. The main delimiter is a semicolon.
My data looks like the following:
Header ; Value ; Data
Example1; 12 ; "air"
Example2; 24 ; "water"
For this usecase I'm using
filebyfield = regexp(filebyline, ';', 'split'); %filebyline- textfile including my data
Unfortunately the data I try to import isn't uniform and could look like the following:
Header ; Value ; Data
Example1; 12 ; "air;fire"
Example2; 24 ; "water"
Is there any way to ignore the delimiter (";") if its inside of quotation marks? I thought about textscan, but I don't have the same number of coloumns every time and therefore cant specify the data format.
Any help would be appreciated! Best regards
0 commentaires
Réponse acceptée
Walter Roberson
le 4 Nov 2020
sometimes the easiest way is to detect the quoted delimiter and replace them with some special character such as ¡ and then do the split and then fix-up the results.
4 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!