Make a numeric list converter
JavaScript (ES6), 75 82
As an anonymous function
Edit: 2 byte saved thx @user81655 (and 5 more just reviewing it)
(l,[a,b])=>a.trim()+l.match(/[-\d.]+/g).join(b)+']})> '['[{(< '.indexOf(a)]
Test snippet
F=(l,[a,b])=>a.trim()+l.match(/[-\d.]+/g).join(b)+']})> '['[{(< '.indexOf(a)]
// Test
console.log=x=>O.innerHTML+=x+'\n'
// default test suite
t=[['1 2 3 4','[,'],['<1; 2; 3>',' ;'],['{-1.3, 3.4, 4, 5.55555555}','[,']]
t.forEach(t=>console.log(t[0]+' *'+t[1]+'* '+F(t[0],t[1])))
function test() { console.log(P1.value+' *'+P2.value+'* '+F(P1.value,P2.value)) }
#P1 { width: 10em }
#P2 { width: 2em }
P1<input id=P1>
P2<input id=P2>
<button onclick="test()">-></button>
<pre id=O></pre>
CJam, 35 34 bytes
l(S-l"{[<(,}]>);":BSerS%@*1$B5/~er
Test it here.
Expects the format on the first line and the list on the second.
Explanation
l e# Read the format line.
( e# Pull off the first character, which is the opening bracket.
S- e# Set complement with a space, which leaves brackets unchanged and turns a space
e# into an empty string.
l e# Read the list.
"{[<(,}]>);":B
e# Push this string which contains all the characters in the list we want to ignore.
Ser e# Replace each occurrence of one of them with a space.
S% e# Split the string around runs of spaces, to get the numbers.
@ e# Pull up the the delimiter string.
* e# Join the numbers in the list with that character.
1$ e# Copy the opening bracket (which may be an empty string).
B5/ e# Push B again and split it into chunks of 5: ["{[<(," "}]>);"]
~ e# Unwrap the array to leave both chunks on the stack.
er e# Use them for transliteration, to turn the opening bracket into a closing one.
Pyth, 33 bytes
rjjezrXwJ"<>[] {}(),;"d7@c6JChz6
Try it online: Demonstration or Test Suite
Explanation:
J"<>[] {}(),;" assign this string to J
rjjezrXwJd7@c6JChz6 implicit: z = first input string, e.g. "[;"
w read another string from input (the list of numbers)
X Jd replace every char of ^ that appears in J with a space
r 7 parse ^ (the string of numbers and spaces) into a list
jez put z[1] (the separator symbol) between the numbers
c6J split J into 6 pieces ["<>", "[]", " ", "{}", "()", ",;"]
Chz ASCII-value of z[0] (opening bracket symbol)
@ take the correspondent (mod 6) brackets from the list
j and put the numbers between these brackets
r 7 remove leading and trailing spaces