Если вы используете matchвместо этого split, вы можете использовать регулярное выражение, которое соответствует символам слов ( w), OR соответствует вашим специальным символам ( [,?]), чтобы получить желаемый результат:
var str = "Hi, how are you doing?";
console.log(str.match(/w+|[,?]/g))