JSFiddle - React, Tailwind, and code Playground
HTML
<marquee direction="right"> <pre id="train"></pre> </marquee>
JavaScript
function c(i){
var i=i.replace(/f/,"=15r h 7h").match(/(\D)(\d+)?/g),
s={
's':'\\',
'w':' []',
'b':' |',
'h':'O-O',
't':'-|',
'r':'\n'
}
,
a=[];
for(j in i){
x=/(\D)(\d+)?/g.exec(i[j]),
a[j]=x[1],
n=x[2]/1,
o="";
while(x[2]&&0<n--)o+=a[j];
a[j]=o||a[j];
}
r=a.join('');
for(j in s)r=r.replace(RegExp(j,"g"),s[j]);
return r;
}
E=" 12_2r=6 6s/r|wb=9r| 14)r=16r h-O 3h-O ss",
P="r2=15r|w4brf",
B="r2=15r|t2 b bt2rf",
T="r2 _5-3_5r( 13)rf",
H="r2_15rsb6 /rf",
F="r4f",
C="r 4=5r=4| 3|=4r|w 4wbr=13r h 5h";
document.getElementById('train').innerHTML = c(E);