I’m trying to split a string like Presentation about "Test Driven Development" into an array like this:
[ 'Presentation',
'about',
'"Behavior Driven Development"' ]
I have tried CSV::parse_line(string, col_sep: ' '), but this results in
[ 'Presentation',
'about',
'Behavior Driven Development' ] # I'm missing the quotes here
I also tried some regexp magic, but I’m still a beginner and didn’t succeed. I guess this is quite simple for a pro, so maybe someone could point me into the right direction? Thanks.
You may use the following regular expression
split:It splits if there is a space but only if the text following until the end contains an even number of
". Be aware that this version will only work if all your strings are properly quoted.An alternative solution uses
scanto read the parts of the string (besides spaces):