Skip to content

Instantly share code, notes, and snippets.

@davidcostadev
Last active December 21, 2018 16:39
Show Gist options
  • Save davidcostadev/b9517992bf41d2c380cb2109ad8121c3 to your computer and use it in GitHub Desktop.
Save davidcostadev/b9517992bf41d2c380cb2109ad8121c3 to your computer and use it in GitHub Desktop.
console.clear()
const string = '\'1\' , 2 , \'3\'';
const splitMult = (s, splits, r = []) => {
if (!s) return r
if (splits.length) {
const [part, ...others] = splits
const [before, after] = s.split(part)
r.push(before)
if (s.split(part).length) {
r.push(part)
}
return splitMult(after, others, r)
}
r.push(s)
return r
}
const cleanSpace = s => {
const stringBlocks = s.match(/("|').*?("|')/g);
const parts = splitMult(s, stringBlocks)
return parts.filter(s => s.length).map(d => {
if (!d.match(/("|').*?("|')/g)) {
return d.split(',').map(f => f.trim()).join(', ')
}
return d;
}).join('');
}
console.log(splitMult(string, ['"1"', '"3"']))
console.log(cleanSpace(string))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment