正则分组数字时如何匹配空格 实现解码保留空格及42映射i/j功能
问题原因
你当前使用的正则/\d{1,2}/g仅匹配数字字符,输入字符串中的空格会被完全过滤,不会进入拆分得到的tens数组,所以最终拼接结果中没有空格。
解决方案
仅需要修改decodePS函数中的匹配正则即可,将正则调整为同时匹配2位以内数字组和空白字符:
function decodePS(input) { // 正则修改为匹配1-2位数字 或 空白字符 const tens = input.match(/\d{1,2}|\s/g) console.log(tens) // 原有逻辑不用改:search方法匹配不到的内容会直接返回原值,空格会直接保留 return tens.reduce((acc, num) => acc + search(alpha, num), "") }
效果验证
修改后调用decodePS("21434352 21434352")将返回你预期的book book,原有的"214222"返回b(i/j)g的逻辑不受任何影响。
内容的提问来源于stack exchange,提问作者Get_Richie
相关产品推荐
相关产品推荐

