jon*_*ous 4 javascript regex safari excel google-chrome
我目前正在处理从Excel(在macOS上)将多行一列复制到浏览器的问题.我收到一个event并访问复制的内容,如下所示:event.clipboardData.getData('text/plain');
收到内容后,我想用各种各样的匹配器分割它们:
const separators = [',', ';', '\\(', '\\)', '\\*', '/', ':', '\\?', '\n', '\t'];
return data.split(new RegExp(separators.join('|'), 'g')).map(d => d.trim());
Run Code Online (Sandbox Code Playgroud)
这在Firefox中完美运行,但在最新的Chrome和Safari中并不适用.我想,你会用\n或匹配新行\t.我的目标是每行检索一个值数组.我想这与Excel的特殊行结尾有关,因为当使用Apple的Numbers时,一切都很完美.
任何帮助真的很感激.提前致谢!
您只需要添加CR,回车符号(它是MS Office文档中的默认换行符样式).此外,String#split方法不需要使用g全局修饰符并将正则表达式作为参数传递,因为此方法行为默认情况下就是这样.
使用
const separators = [',', ';', '\\(', '\\)', '\\*', '/', ':', '\\?', '\n', '\r'];
return data.split(new RegExp(separators.join('|'))).map(d => d.trim());
Run Code Online (Sandbox Code Playgroud)