split
split
(separator: string | regex) => (aString: string) => string[]
Split a string into an array
const splitCommas = split(',') splitCommas('a,b,c') // is ['a', 'b', 'c'] const splitPhoneNumber = split(/[.-]/) splitPhoneNumber('555.123.4567') // is ['555', '123', '4567'] splitPhoneNumber('555-123-4567') // is ['555', '123', '4567']
const splitCommas = split(',') splitCommas('a,b,c') // is ['a', 'b', 'c'] const splitPhoneNumber = split(/[.-]/) splitPhoneNumber('555.123.4567') // is ['555', '123', '4567'] splitPhoneNumber('555-123-4567') // is ['555', '123', '4567']
const splitCommas = split(',') splitCommas('a,b,c') // is ['a', 'b', 'c'] const splitPhoneNumber = split(/[.-]/) splitPhoneNumber('555.123.4567') // is ['555', '123', '4567'] splitPhoneNumber('555-123-4567') // is ['555', '123', '4567']
const splitCommas = split(',') splitCommas('a,b,c') // is ['a', 'b', 'c'] const splitPhoneNumber = split(/[.-]/) splitPhoneNumber('555.123.4567') // is ['555', '123', '4567'] splitPhoneNumber('555-123-4567') // is ['555', '123', '4567']
Sometimes we can extract data from a string by splitting it. Below, we have weather data in a CSV file. Let's split each newline to get the rows, then split each comma for the columns.
const csv = `day,high,low monday,86,74 tuesday,84,73 wednesday,89,75` const splitRows = split('\n') const splitCols = split(',') const parseData = compose([splitRows, mapValues(splitCols)]) const forecastData = parseData(csv) console.log(forecastData) // is [ // [day, high, low] // [monday, 86, 74] // [tuesday, 84, 73] // [wednesday, 89, 75] // ]
const csv = `day,high,low monday,86,74 tuesday,84,73 wednesday,89,75` const splitRows = split('\n') const splitCols = split(',') const parseData = compose([splitRows, mapValues(splitCols)<string[]>]) const forecastData = parseData(csv) console.log(forecastData) // is [ // [day, high, low] // [monday, 86, 74] // [tuesday, 84, 73] // [wednesday, 89, 75] // ]
const csv = `day,high,low monday,86,74 tuesday,84,73 wednesday,89,75` const splitRows = split('\n') const splitCols = split(',') const parseData = compose([ splitRows, mapValues(splitCols), ]) const forecastData = parseData(csv) console.log(forecastData) // is [ // [day, high, low] // [monday, 86, 74] // [tuesday, 84, 73] // [wednesday, 89, 75] // ]
const csv = `day,high,low monday,86,74 tuesday,84,73 wednesday,89,75` const splitRows = split('\n') const splitCols = split(',') const parseData = compose([ splitRows, mapValues(splitCols)<string[]>, ]) const forecastData = parseData(csv) console.log(forecastData) // is [ // [day, high, low] // [monday, 86, 74] // [tuesday, 84, 73] // [wednesday, 89, 75] // ]