Parse/Split arguments string into array

by Arjan Haverkamp

JavaScript

const splitArguments = (input) => input
  .match(/"[^"]+"|'[^']+'|\S+/g) // split into arguments
  .map(a => a.replace(/^['"](.+?)['"]$/, '$1')) // remove quotes

const parsed = splitArguments("{$inFile} -pointsize 60 -gravity center -font helvetica.ttf -annotate 0+0 'I Love Mom' {$outFile}.png")
console.log(parsed)