javascript - 为什么 .replace 不能在 .map 中工作
问题描述
我有一个正则表达式用于替换两个转义字符。我可以通过直接访问它们来替换它们,但不能使用 map 函数。有人可以解释我的误解吗?
var entry = [ '\n000087',
'1',
'000055555',
'admin',
'1',
'0',
'2018/07/06',
'08:53:14\t' ];
entry = entry.map((item)=>{
return item.replace('/\\(?:[a-z])/g','');
});
console.log(entry);//does not remove \n or \t
console.log(entry[0].replace('/\\(?:[a-z])/g','')); // does remove \n
解决方案
试试这个代码。正如人们所提到的,您没有使用正确的正则表达式语法。我的代码只是删除了换行符和制表符。
var entry = [ '\n000087',
'1',
'000055555',
'admin',
'1',
'0',
'2018/07/06',
'08:53:14\t' ];
entry = entry.map((item)=>{
return item.replace(/[\t\n]+/g,'');
});
推荐阅读
- c++ - 我正在尝试使用 -fsanitizer=address 进行编译,但不断收到“找不到 -lasan”
- java - Java 泛型参数是如何推断的?
- ios - UIImagePickerController 只能在主线程中使用 | 应用程序崩溃
- f# - 如何在 F# 中将 Excel 工作表放入 Deedle 数据框
- memory-management - Solaris 中的物理内存利用率
- python - 读取 5gb 以上的 csv 数据集
- gitlab - 阶段对于其他分支是可选的,但对于主分支是强制性的
- linux - __init 函数中的本地静态标识符会发生什么?
- repast-simphony - 批量运行后的模拟可视化
- d3.js - dc.js 中带有 JSON 对象的折线图