Javascript 在excel列上应用正则表达式后创建逗号分隔的文本

Javascript 在excel列上应用正则表达式后创建逗号分隔的文本,javascript,php,regex,excel,csv,Javascript,Php,Regex,Excel,Csv,我有一个Excel列,我需要将其转换为CSV。我得到了一个javascript正则表达式,可以应用于列值: var regex = new RegExp("[^a-z0-9',.]+","gi"); return input.replace(regex, "_").replace(/_+/g, "_").replace(/^_|_$|^\/|\/$|'|,/g, ""); 如何将excel列转换为javascript数组,以便循环遍历数组值并应用正则表达式将其再次保存到数组中,然后从数组中创建

我有一个Excel列,我需要将其转换为CSV。我得到了一个javascript正则表达式,可以应用于列值:

var regex = new RegExp("[^a-z0-9',.]+","gi");
return input.replace(regex, "_").replace(/_+/g, "_").replace(/^_|_$|^\/|\/$|'|,/g, "");
如何将excel列转换为javascript数组,以便循环遍历数组值并应用正则表达式将其再次保存到数组中,然后从数组中创建csv

我的excel中只有一列。有什么建议或最好的解决方法吗?我可以使用PHP或C#,但我不确定如何将此javascript正则表达式转换为PHP或C#。或者至少有人告诉我,解决这个问题的最佳方案应该是什么

这是我的excel工作表中的样本数据,我有一列,
str name
,它的值如下:

strName
ABC
Nike & Sony etc
THE METEORS

无需将任何内容转换为Javascript,因为有一个内置函数可以在PHP中创建CSV:。它接受一个数组作为输入,并将其作为逗号分隔的数据打印到输出文件中,最后使用回车符

您的数据似乎是一个行数组,因此需要将每一行转换为一个数组,以便与
fputcsv
一起使用

# input data
$lines = array(
    'strName',
    'ABC',
    'Nike & Sony etc',
    'THE METEORS');

# open the output file
$fh = fopen('file.csv', 'w');

foreach ($lines as $l) {
    # convert the line to an array and pass it to fputcsv
    fputcsv($fh, array($l));
}
fclose($fh);
file.csv现在包含:

strName
ABC
"Nike & Sony etc"
"THE METEORS"

您能否向我们展示从excel中提取数据的代码,并向我们展示
input
的值是什么?我已经编辑了这个问题,我不确定从何处开始,如何将excel列转换为javascript数组,以便我可以循环查看值您是否有读取excel的代码?我有PHP代码和C代码要读取excel列,但如果我选择php或c,我不确定如何转换并应用此javascript正则表达式,因为此正则表达式是JavaScription格式的。您能告诉我们从excel文件中获取数据时数据的外观吗?如果我们不知道我们谈论的是什么数据,我们将无法帮助您。是一串吗?它是一个数组吗?这是一个列表吗?谢谢,但我需要在数组值上实现正则表达式,然后将其保存在csv中。你能看到我的正则表达式吗?或者如何在php正则表达式中转换它?您不需要实现该正则表达式——php在
fputcsv
中为您完成所有这些。正则表达式是一个黑客创建的,因为javascript没有处理csv的本机函数,不像PHP。最后一个问题,这个正则表达式基本上在做什么?你能解释一下吗?你的正则表达式首先用
替换任何非字母数字字符(不包括逗号、句号和
),然后用
替换任何
,然后修剪字符串开头或结尾的任何
,删除任何
//code>字符(在第一个正则表达式中已经删除),并删除
。看起来最后一个
替换
是事后添加的,因为它重复了已经完成的工作。所以fputcsv完成了用javascript正则表达式编写的所有操作,对吗?我看到您已经创建了一个数组,然后创建了一个输出文件。现在我有一个带有umn'strname'和它的值如何将excel列创建到php数组中?