JavaScript:如何通过正则避免数组拼接时出现多余'to'字符
解决数组拼接时多余'to'的问题
其实没必要非得用正则,直接拆分数组处理更简单直观:
const timeArr = [ '10 am', '5 pm', 'by appointment only' ]; // 把前两个时间元素用'to'拼接,再和第三个元素用空格连接 const formattedStr = `${timeArr.slice(0, 2).join(' to ')} ${timeArr[2]}`; // 结果:"10 am to 5 pm by appointment only"
如果一定要用正则来处理的话,也可以先做全量join,再把最后多余的'to '替换成空格:
const timeArr = [ '10 am', '5 pm', 'by appointment only' ]; const joinedStr = timeArr.join(' to '); // 替换最后出现的' to '为空格 const formattedStr = joinedStr.replace(/ to $/, ' ');
这个正则/ to $/会匹配字符串末尾的' to '(注意to前后的空格),替换成单个空格就能得到你想要的格式。
不过还是更推荐第一种方法,逻辑更清晰,不需要依赖正则匹配,尤其当数组结构固定(前两个是时间,第三个是备注)的时候,直接拆分处理更不容易出问题。
内容的提问来源于stack exchange,提问作者rubyist
相关产品推荐
相关产品推荐

