如何用正则表达式去除字符串中的\n与\t?现有正则匹配失效
解决字符串中换行符与制表符的去除问题
你的正则/(\n\t)/g无效的原因很直接:这个正则只能匹配连续的换行符加制表符(即\n紧跟\t的组合),但你的字符串里是\n\n之后接\t\t\t\t,没有\n和\t连续出现的场景,所以找不到任何匹配项。
正确的正则方案
要一次性去除所有换行符\n和制表符\t,不管它们单独还是连续出现,用以下正则:
const originalStr = "BALCONI \n\n\t\t\t\t10-pack MixMax chocolade cakejes"; // 直接去除所有换行/制表符 const cleanedStr = originalStr.replace(/[\n\t]+/g, ''); // 输出:"BALCONI 10-pack MixMax chocolade cakejes"
如果想把这些多余的空白统一替换成单个空格(避免原字符串中BALCONI后的空格加上去除空白后出现双重空格),可以改成:
const cleanedStr = originalStr.replace(/[\n\t]+/g, ' '); // 输出:"BALCONI 10-pack MixMax chocolade cakejes"
正则说明
[\n\t]:字符集,匹配任意一个换行符或制表符+:匹配一个或多个连续的上述字符g:全局标志,替换所有匹配到的内容,而非仅替换第一个
内容的提问来源于stack exchange,提问作者user19414589
相关产品推荐
相关产品推荐

