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

Creating comma-separated text after applying regex on excel column

本文关键字:分隔 文本 创建 excel 应用 正则表达式      更新时间:2023-09-26

我有一个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"