**已关闭。**此问题正在寻求书籍、工具、软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答复。
我们不允许问题寻求书籍,工具,软件库等的建议。您可以编辑问题,以便可以用事实和引用来回答。
2天前关闭。
Improve this question
我有一个.csv文件,每个条目有两个字段:用户名和电子邮件。有一些错误的数据添加到一些(虽然不是全部)用户名中,以下划线的形式,然后是3或4位数字,例如:tomcardoni_3323,stevesomeone_143
我可以使用什么编程语言或应用程序来删除这些不良数据?我认为JavaScript不能做到这一点,但我不确定。
任何信息,建议或帮助摆脱这些数据将不胜感激。以下是部分数据的摘录。
cenedra4381_3323,cenidra4381@somemail.com
stevesomeone_143,steves@yahoo.com
ornabe_3324,ornabe@somemail.com
myName_js_3325,myName_js@icloud.com
Coastaf_3326,Coastaf@email.com
jhaines_3327,jhaines@thecorp.com
katbrooks717_3328,katbrooks717@residents.com
dsepke1_3329,dsepke1@someemail.com
1条答案
按热度按时间z6psavjg1#
大多数编程语言都应该能够处理这个问题,包括JavaScript。我将采取的方法是:
1.逐行读取csv
1.使用逗号作为分隔符拆分每一行,将用户名与电子邮件地址分隔开
1.检查用户名是否与正则表达式匹配(假设所有错误的数据总是以下划线结尾,后跟3-4位数字,
/(.+)(_\d{3,4})$/
应该可以做到1.如果有匹配项,则该正则表达式将生成2个捕获组。第一个是“好”的数据,第二个是“####”后缀
1.通过写入第一个捕获组(如果没有匹配项,则为原始用户名)、逗号和电子邮件地址,在新文件中重建该行
正如我提到的,JavaScript绝对可以处理这个问题,尽管在Node中访问
fs
API是最容易的。如果你真的想的话,你可以在浏览器中完成,但这会有点困难。还要注意的是,这个解决方案会破坏任何以“###”或“_####”结尾的好数据,尽管我不知道是否有可能避免这种情况。