繁体   English   中英

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

[英]Creating comma-separated text after applying regex on excel column

我有一个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 它以一个数组作为输入,并将其作为逗号分隔的数据打印到输出文件中,并在最后加上一个回车符。

您的数据似乎是一个行数组,因此您需要将每行转换为一个数组,以与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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM